Здравствуйте! Создаю таблицу в Excel как база клиентов. В ней основной лист "База кл." (где общая информация по всем клиентам и дата следующего звонка) и листы на каждого клиента, где более подробная инфо. Не получается сделать, чтобы автоматически (думаю с помощью макроса) копировалась область ячеек (А2:F2)из всех листов (клиентов) в общую базу. В дальнейшем вкладок с Клиентами будет очень много. Поэтому и нужно автоматически. Таблицу приложила. Посмотрите пожалуйста, может кто сможет мне помочь.
Здравствуйте! Создаю таблицу в Excel как база клиентов. В ней основной лист "База кл." (где общая информация по всем клиентам и дата следующего звонка) и листы на каждого клиента, где более подробная инфо. Не получается сделать, чтобы автоматически (думаю с помощью макроса) копировалась область ячеек (А2:F2)из всех листов (клиентов) в общую базу. В дальнейшем вкладок с Клиентами будет очень много. Поэтому и нужно автоматически. Таблицу приложила. Посмотрите пожалуйста, может кто сможет мне помочь.nadyxa
Макрос копирует данные из листов со второго по последний на лист "База клиентов":
[vba]
Код
Sub Из_листов_в_базу() Dim shBase As Worksheet Dim lr As Long, i As Long Application.ScreenUpdating = False Set shBase = Worksheets("База клиентов") For i = 2 To Worksheets.Count lr = shBase.Cells(shBase.Rows.Count, "A").End(xlUp).Row + 1 shBase.Range("A" & lr & ":F" & lr).Value = Worksheets(i).Range("A2:F2").Value Next i Application.ScreenUpdating = True MsgBox "Готово!", vbInformation End Sub
[/vba]
Макрос копирует данные из листов со второго по последний на лист "База клиентов":
[vba]
Код
Sub Из_листов_в_базу() Dim shBase As Worksheet Dim lr As Long, i As Long Application.ScreenUpdating = False Set shBase = Worksheets("База клиентов") For i = 2 To Worksheets.Count lr = shBase.Cells(shBase.Rows.Count, "A").End(xlUp).Row + 1 shBase.Range("A" & lr & ":F" & lr).Value = Worksheets(i).Range("A2:F2").Value Next i Application.ScreenUpdating = True MsgBox "Готово!", vbInformation End Sub
Проблема в том, что на листе "База клиентов" последняя строка ищется по столбцу "A". Предполагается, что в нем будут данные. В столбце "A" на листах-источниках всегда будут данные? Сейчас на листах "клиент", "клиент (4)", в ячейке "A2" пусто. Так и должно быть или просто Вы неточно составили пример?
Первый лист это "База клиентов". С него макрос не копирует. Поэтому Вы неточно написали:
Проблема в том, что на листе "База клиентов" последняя строка ищется по столбцу "A". Предполагается, что в нем будут данные. В столбце "A" на листах-источниках всегда будут данные? Сейчас на листах "клиент", "клиент (4)", в ячейке "A2" пусто. Так и должно быть или просто Вы неточно составили пример?Karataev