Generowanie arkuszy przy użyciu tego samego szablonu w programie Excel

0

Mam szablon Excel, w którym używam HLookup do wypełnienia jednego wiersza danych. Czy istnieje sposób użycia makr do:

  1. Wygeneruj wiele arkuszy w oparciu o liczbę wierszy w skoroszycie?
  2. Czy masz wiele arkuszy, które wyglądałyby jak szablon?

Krótko mówiąc, mam dwa arkusze: Podsumowanie danych i Szablon. Obecnie kopiuję i wklejam jeden wiersz na raz do podsumowania danych, a dane pojawiają się we właściwej sekcji szablonu w innym arkuszu.

Czy istnieje sposób, aby przyspieszyć ten proces, wykonując więcej niż jeden raz za pomocą makr?

Minette Najjar
źródło
1
Co się stanie, jeśli wkleisz wszystkie dane jednocześnie zamiast wklejać każdy wiersz?
bvaughn

Odpowiedzi:

1

Ponieważ nie jestem do końca pewien, jak wygląda twój plik, będę musiał zgadywać. Ale możesz spróbować tego:

Sub distribute()
    Dim sh As Worksheet
    Dim k As Long, i As Integer
    Set sh = ThisWorkbook.Sheets("Data")
    k = sh.Range("A1048576").End(xlUp).Row

    For i = 1 To k

        Worksheets("Template").Copy After:=Sheets(Sheets.Count)
        sh.Rows(i).Copy Range("A2")

    Next

End Sub

Zauważ, że „ ZA " w sh.Range("A1048576") definiuje kolumnę do wyszukiwania wierszy.

Ten kod:

  • Liczy się do ostatniego wiersza użytego w określonej kolumnie i tworzy wiele nowych arkuszy (kopie arkusza „szablonu”).
  • Kopiuje wiersz 1 z arkusza „Dane” do A2 pierwszego nowego arkusza (ponieważ zakładam, że istnieje tam tabela z nagłówkiem), wiersz 2 z „Dane” do drugiego nowego arkusza i tak dalej.
  • Będzie NIE zignoruj ​​puste wiersze między pierwszym a ostatnim wierszem i utworzy pusty arkusz.

Może można to zmodyfikować, aby dopasować je do Twoich potrzeb. Powodzenia!

Christofer Weber
źródło
Po przeczytaniu pytania kilka razy zaczynam zastanawiać się, co chcesz zrobić. Jeśli skopiujesz dane DO podsumowania danych, kopiujesz je z szablonu? Dlaczego potrzebujesz tylu kopii szablonu? Chciałbym poprawić swoją odpowiedź, ale nie jestem pewien, co mam osiągnąć.
Christofer Weber