Доброго времени суток.
Есть задача: копировать выделенный диапазон значений, после нажатия кнопки, данные копируются на другой лист, с буфером обмена с этим проблем нет. но теперь нужно выполнить ту же задачу без использования буфера обмена, не могу понять как это реализовать. то ли нужно как то выделенную область засунуть в массив или как то можно по другому. Заранее спасибо. в файле весь код с комментариями.
Есть задача: копировать выделенный диапазон значений, после нажатия кнопки, данные копируются на другой лист, с буфером обмена с этим проблем нет. но теперь нужно выполнить ту же задачу без использования буфера обмена, не могу понять как это реализовать. то ли нужно как то выделенную область засунуть в массив или как то можно по другому. Заранее спасибо. в файле весь код с комментариями.
Код |
---|
Function SheetExists(shtName As String) As Boolean Dim sht As Worksheet On Error Resume Next Set sht = ThisWorkbook.Sheets(shtName) SheetExists = Not sht Is Nothing End Function Sub copy() Dim myRange As Variant Dim sheetname As String Selection.copy myRange = Selection.Address sheetname = InputBox("Введите название листа") If (sheetname = "") Then Exit Sub If (Not SheetExists(sheetname)) Then Sheets.Add.Name = sheetname Worksheets(sheetname).Activate Worksheets(sheetname).Paste Destination:=Range(myRange) Application.CutCopyMode = False End Sub |