Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Макрос для Excel

KRJaizer Мастер (1023), открыт 1 час назад
Не очень понимаю за VBA
Подскажите пожалуйста шаблон макроса для переноса данных из книга1 лист1 в книга2 лист2
1 ответ
Анонимус Мудрец (15068) 1 час назад
 Sub ПереносДанных() 

' Объявление переменных
Dim wb1 As Workbook, wb2 As Workbook
Dim ws1 As Worksheet, ws2 As Worksheet

' Установка ссылок на рабочие книги и листы
Set wb1 = Workbooks("Книга1.xlsx") ' Замените "Книга1.xlsx" на имя вашей книги
Set ws1 = wb1.Sheets("Лист1") ' Замените "Лист1" на имя вашего листа
Set wb2 = Workbooks("Книга2.xlsx") ' Замените "Книга2.xlsx" на имя вашей книги
Set ws2 = wb2.Sheets("Лист2") ' Замените "Лист2" на имя вашего листа

' Проверка, открыты ли книги
On Error Resume Next
If wb1 Is Nothing Then
MsgBox "Книга1 не найдена!", vbCritical
Exit Sub
End If
If wb2 Is Nothing Then
MsgBox "Книга2 не найдена!", vbCritical
Exit Sub
End If
On Error GoTo 0

' Копирование данных
ws1.Cells.Copy ws2.Cells

' Сообщение об успешном завершении
MsgBox "Данные успешно перенесены!", vbInformation

End Sub
KRJaizerМастер (1023) 1 час назад
Большое спасибо.
А подскажите, если я К ПРИМЕРУ, хочу перенести
A1:C1 ; А2:C2 ; и ячейку A3 из книги 1
в A1:C1 ; А2:C2 ; и ячейку A3 в книгу 2
Как перенести два диапазона и одну ячейку?
Анонимус Мудрец (15068) KRJaizer,
 Sub ПереносДанных() 
 
  ' Определяем пути к книгам 
  Dim wbSource As Workbook, wbDestination As Workbook 
  Set wbSource = Workbooks.Open("C:\Path\To\Книга1.xlsx") ' Замените на ваш путь 
  Set wbDestination = Workbooks.Open("C:\Path\To\Книга2.xlsx") ' Замените на ваш путь 
 
  ' Копируем диапазоны 
  wbSource.Sheets(1).Range("A1:C2").Copy wbDestination.Sheets(1).Range("A1") 
  wbSource.Sheets(1).Range("A3").Copy wbDestination.Sheets(1).Range("A3") 
 
  ' Закрываем исходную книгу (без сохранения изменений) 
  wbSource.Close SaveChanges:=False 
 
End Sub 
Похожие вопросы