Excel - Копиране на редове в общата страница

Проблем

Имам Excel таблица с 13 работни листа. Първите 12 работни листа са от януари до декември. 13-ият работен лист е общ. Всеки работен лист има идентични колони и редове.

Във всички работни листове има около 10 графи като Дата, Име, Адрес, Номер на Отчет, Отдел, Име на служител и т.н.

Това, което се опитвам да направя, е да въведа информацията във всеки месечен работен лист и да въвеждам данните, които автоматично се копират в общия работен лист. Общият работен лист съдържа всички въведени данни. Ще имам месечна разбивка, но общата страница съдържа всички транзакции.

Имам всички работни листове, но не мога да намеря кода, за да направя копието. Всички предложения, моля?

Решение

Опитайте тази. Разбира се, направете резервно копие на оригиналния файл преди тестване

Предположения.

  • 1. Листовете са имена Jan, Feb, ....
  • 2. Основният лист се нарича Master
  • 3. Колоната 1 няма празна стойност (тя се използва за намиране на максималния брой редове)
  • 4. Има не повече от 11 колони
  • 5. Главният лист вече има заглавен ред.

 Sub copyData () Dim maxRows As Long Dim maxCols Като целочислено Dim conSheet As String "консолидирано име на листа Dim lConRow As Long Dim maxRowCol As Integer", използвано за намиране на макс. Брой редове, "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec") maxRowCol = 1 conSheet = "Мастер" Избор на обхват ("A2") .Изберете клетки (65536, 256) .Изберете Selection.End (xlDown) .Изберете maxRows = Селекция.Разширен диапазон ("A2", Избор). За x = 0 до Sheets.Count - 2 листа (месеци (x)) Изберете Ако ActiveSheet.AutoFilterMode Тогава Cells.Select Selection.AutoFilter End Ако клетки.Изберете Dim lastRow As LongRow = Cells (maxRows, maxRowCol). xlUp) .Row If (lastRow> 1) Тогава Range (Клетки (2, 1), Cells (lastRow, maxCols)) Изберете Selection.Copy Sheets (conSheet) .Изберете клетки (lConRow, 1). = Клетки (maxRows, maxRowCol) .End (xlUp) .Row lConRow = lSummaryRow + 1 Край, ако ActiveSheet.Name = "Dec "Тогава Exit Sub Next End Sub 

Забележка

Благодарение на rizvisa1 за този съвет на форума.

Предишна Статия Следваща Статия

Топ Съвети