Excel - Makro pro kopírování dat z různých listů

Problém

Snažím se kopírovat data z různých listů do hlavního listu podle následujících kritérií

  • Hlavní list by měl být generován vždy, když spustím makro vymazávající předchozí hlavní list.
  • Všechna záhlaví sloupců jsou identická.
  • Pro hlavní list by měl být zkopírován pouze jeden nadpis (tj. První řádek by neměl být kopírován z druhého listu.)
  • Pokud se v určité buňce objeví nulové hodnoty, tento řádek by se neměl kopírovat.
  • Hlavní list by měl být řazen podle sloupce, který uvádím při spuštění makra. (Tj. Přiřadím do pole zprávy pole / sloupec, který by měl být řazen do hlavního listu.)

Řešení

Mám jednu pochybnost, že chcete kopírovat data pro všechny měsíce do hlavního listu NEBO pro měsíc po měsíci. Předpokládal jsem všechny měsíce. V takovém případě zkuste toto makro

 Subtest () Dim j Jak dlouhá, k As dlouhá, r As Rozsah j = Pracovní listy. Počet s pracovními listy ("master") Nastavte r = rozsah (.Range ("A2"), .Range ("A2"). Konec (xlDown)) r.EntireRow.Delete End With For k = 1 Do J Pokud Listy (k) .Name = "master" Pak GoTo errorhandler S listy (k) Pokud .Range ("A2") = "" Pak GoTo errorhandler Nastavte r = rozsah (.Range ("A2"), .Range ("A2"). Konec (xlDown)) r.EntireRow.Copy Listy ("master") Cells (Rows.Count, "A"). (xlUp) .Offset (1, 0) .PasteSpecial End With errorhandler: Další k End Sub 

V souboru máte příliš mnoho prázdných modulů. Odstraňte všechny kromě modulu1.

Všimněte si, že

Řešen venkat1926

Předchozí Článek Následující Článek

Nejlepší Tipy