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

Макрос для Excel

KRJaizer Мастер (1043), на голосовании 1 месяц назад
Не очень понимаю за VBA
Подскажите пожалуйста шаблон макроса для переноса данных из книга1 лист1 в книга2 лист2
Голосование за лучший ответ
Анонимус Просветленный (29122) 2 месяца назад
 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Мастер (1043) 2 месяца назад
Большое спасибо.
А подскажите, если я К ПРИМЕРУ, хочу перенести
A1:C1 ; А2:C2 ; и ячейку A3 из книги 1
в A1:C1 ; А2:C2 ; и ячейку A3 в книгу 2
Как перенести два диапазона и одну ячейку?
Анонимус Просветленный (29122) 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 
Арбузо Л.З. Мудрец (11856) 2 месяца назад
Открыл в Экселе два файла Книга1 и Книга2.
Запустил «Запись макроса».
Скопировал ячейку А1 на Листе1 Книги1.
Переключился на окно Книги2.
И вставил в ячейку А2 Листа1 то что скопировал в Книге1.
Остановил запись макроса.
Посмотрел в редакторе VBA то, что написал Эксель.
И вот что увидел.
 Sub Макрос1() 
Sheets("Лист1").Select
Range("A1").Select
Selection.Copy
Windows("Книга2").Activate
Sheets("Лист1").Select
Range("A2").Select
ActiveSheet.Paste
End Sub
Евгений Prog.Z Мудрец (14325) 1 месяц назад
можно ещё использовать Power Quiery
Похожие вопросы