Объединение таблиц Excel в одну таблицу
Хорошо, я пытался найти похожие вопросы, но я нене понимаю многое из того, что обсуждалось, так какя первый разсмотрю на Excel 'Редактор VBA.
Проще говоря, у меня есть 2 таблицы:Лист1" а также "Лист2"
Лист 1:
A B
1 Header1 Header2
2 Text1 Info1
3 Text2 Info2
Лист 2:
A B
1 Header1 Header2
2 Text3 Info3
3 Text4 Info4
И я хотел бы иметь макрос для объединения двух листов в новый лист (Sheet3), например:
A B
1 Header1 Header2
2 Text1 Info1
3 Text2 Info2
4 Text3 Info3
5 Text4 Info4
Я попытался записать макрос и сохранить его для дальнейшего использования. Для этого я создал новый лист, скопировал / вставил все с Sheet1 на Sheet3, затем скопировал всю информацию, кроме заголовков с Sheet2 на Sheet3.
Ну, макрос работает для этих данных, но я обнаружил, что код, сгенерированный Excel, делает это так, что он выбирает ячейку A4 (здесь) перед вставкой данных. Хотя это работает для этих данных, это нене работает, если количество записей на каждом листе меняется время от времени. В принципе,
1) Мне было интересно, существует ли функция, которая автоматически переходит к последней соответствующей ячейке перед вставкой следующего набора данных (в этом примере ячейка A4, и если у меня есть еще одна таблица, то ячейка A6).
2) ямы видели функцию "ActiveCell.SpecialCells (xlLastCell) .Select» (активируется, когда я использую Ctrl + End), но это приводит меня к концу листа. Мне нужно что-то похожее наГлавная" а также "Вниз" Клавиша со стрелкой после использования этой функции для лучшей работы.
Любой из этих вариантов будет хорошо со мной. ^ _ ^
Вот'Мой текущий код VBA, записанный с Macro Recorder в Excel 2010:
Sub Collate_Sheets()
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Select
Sheets(Sheets.Count).Name = "Sheet3"
Sheets("Sheet1").Select
Range("A1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
Sheets("Sheet3").Select
ActiveSheet.Paste
ActiveCell.SpecialCells(xlLastCell).Select
' I need to select one cell below, and the cell in column A at this point
Sheets("Sheet2").Select
Range("A2").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet3").Select
ActiveSheet.Paste
End Sub
Я надеюсь, что я нене забудьте любую полезную информацию. Дайте мне знать, если я сделал!