| Jak utworzyć jedną tabelę z killku mniejszych mających taką samą strukturę? |
|
Problem: W kilku arkuszach mam tabelkę, która składa posiada taką samą strukturę lecz różne dane. Potrzebuję makra, które utworzy jedną tabelkę z danymi z wszystkich arkuszy. Rozwiązanie: Możesz utworzyć np. z takiego makra: Option Explicit Sub TabelaZbiorcza() Dim wksArkusz As Excel.Worksheet Dim rngOstatniaKomorka As Excel.Range 'Wylaczenie migotania ekraniu Application.ScreenUpdating = False With wksTabelaZbiorcza 'Czysci dane zrodlowe - zostawia naglowki .Range("A2:G" & .Rows.Count).ClearContents 'Petla po wszystkich arkuszach 'kopiuje dane do arkusza wynikowego For Each wksArkusz In ThisWorkbook.Worksheets If wksArkusz.CodeName <> "wksTabelaZbiorcza" Then Set rngOstatniaKomorka = OstatniaKomorka(wksArkusz) wksArkusz.Range("A2", rngOstatniaKomorka).Copy .Range("A" & .Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValuesAndNumberFormats Set rngOstatniaKomorka = Nothing End If Next wksArkusz End With 'Przywraca ustawienia domyslne With Application .ScreenUpdating = True: .CutCopyMode = False End With End Sub Function OstatniaKomorka(wks As Excel.Worksheet) As Excel.Range Set OstatniaKomorka = wks.UsedRange.Find(What:="*", _ LookIn:=xlFormulas, _ LookAt:=xlPart, _ SearchDirection:=xlPrevious, _ SearchOrder:=xlByColumns) End Function |
|
| Zmieniony ( Środa, 30. Czerwiec 2010 09:38 ) |