Уважаемые гуру! Подскажите какой метод необходимо использовать для вставки содержимого из буфера обмена с использованием конечного форматирования, а то возникает ошибка... Ругается на xlPasteValuesAndNumberFormats
Код
Sub SaveClipboardTextToCopySheet()
Dim clipboardData As DataObject
Dim copiedText As String
Dim copySheet As Worksheet
Dim textLines() As String
Dim i As Long
' Create a new instance of the DataObject to access the clipboard
Set clipboardData = New DataObject
' Get the text from the clipboard
clipboardData.GetFromClipboard
copiedText = clipboardData.GetText
' Split the copied text into separate lines
textLines = Split(copiedText, vbCrLf)
' Check if the "Copy" sheet exists, create it if it doesn't
On Error Resume Next
Set copySheet = ThisWorkbook.Sheets("Copy")
On Error GoTo 0
If copySheet Is Nothing Then
' Create the "Copy" sheet if it doesn't exist
Set copySheet = ThisWorkbook.Sheets.Add
copySheet.Name = "Copy"
Else
' Clear existing content in the "Copy" sheet
copySheet.Cells.Clear
End If
' Paste the text into the "Copy" sheet with final formatting
copySheet.Range("A1").Resize(UBound(textLines) + 1, 1).Value = WorksheetFunction.Transpose(textLines)
copySheet.Range("A1").Resize(UBound(textLines) + 1, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
' Optional: Clear the clipboard after saving the text
clipboardData.Clear
End Sub
Добрый день! Подскажите пожалуйста, можно ли средствами VBA на листе оставить все ячейки с определенным фрагментом слова, а у остальных стереть содержимое, не удаляя сами ячейки.
Здравствуйте уважаемые форумчане! Есть несколько сотен файлов с сотней тысяч строк в каждом (файлы txt и каждое значение (буквенно-цифровое) отделено переносом строки). Можно ли из этих всех файлов вынуть все значения, перенести на один лист excel, а затем отсортировать посредством VBA. Полных столбцов где то 36.
Еще заметил что сохраняются только данные ячеек. Т.е. если в ячейке стоит ="A"&BE1 в текстовый файл сохраняется только А без результата вычисления формулы
Помогите пожалуйста еще загнать в цикл. Т.е. Range("C1") = 1, должен быть сперва 1, потом 100, 200, 300 и т.д., а название файла соответствовать этому значению. И нужно подождать пока производится расчет после заполнения C1:C99. Возможно Wait не совсем корректно
Код
Const iFileName As String = "D:\1.txt"
Const rRng As String = "A1:B99"
Range("C1") = 1
Range("C1:C99").DataSeries Step:=1
Application.Wait (Now + TimeValue("00:00:03"))
With Application
.ScreenUpdating = False: .DisplayAlerts = False
Dim iSource As Range
Set iSource = .ThisWorkbook.ActiveSheet.Range(rRng)
.Workbooks.Add (xlWBATWorksheet)
iSource.Copy .ActiveWorkbook.Worksheets(1).Range("A1")
Set iSource = Nothing
.ActiveWorkbook.SaveAs iFileName, xlText ', Local:=True
.ActiveWorkbook.Close False
.DisplayAlerts = True: .ScreenUpdating = True
End With
Доброго времени суток форумчане! Помогите пожалуйста поправить код для записи файла в формате txt (Текстовые файлы (с разделителями табуляции)). И еще без запроса сохранения файла и места (название файла по умолчанию redkl.txt)
Код
Dim iSource As Range, iFileName
Set iSource = ActiveSheet.Range("A1:D1000")
With Application
iFileName = .GetSaveAsFilename( _
FileFilter:="Text Files (*.txt), *.txt", _
Title:="Выберите имя файла и место для его сохранения")
If iFileName <> False Then
.ScreenUpdating = False
.DisplayAlerts = False '
With .Workbooks.Add(xlWBATWorksheet)
iSource.Copy Destination:=.Worksheets(1).Range("A1")
.Close Filename:=iFileName, saveChanges:=True
End With
.DisplayAlerts = True '
.ScreenUpdating = True
Else
MsgBox "Для сохранения данных неоходимо указать файл", , ""
End If
End With