Dystrybuuj dane z listy codziennych arkuszy za pomocą VBA

Anonim

W tym artykule utworzymy makro do rozmieszczania danych w trybie dziennym na wielu arkuszach.

Surowe dane dla tego artykułu obejmują dzienne dane sprzedaży zespołu, które obejmują datę, nazwisko agenta i liczbę sprzedanych przedmiotów.

Chcemy rozprowadzać dane z dnia na dzień na wielu arkuszach. Kliknięcie przycisku „Rozpowszechniaj dane w ciągu dnia” spowoduje to samo.

Wyjaśnienie kodu

Wykonaj dopóki nie będzie pusty(Worksheets(1).Cells(intRowS, 1))

Pętla

W powyższym kodzie pętla Do Until będzie pętla, dopóki nie zostanie napotkana pusta komórka.

strTab = Format(Komórki(intRowS, 1).Wartość, "ddmmyy")

Powyższy kod służy do wyodrębnienia nazwy arkusza z daty.

intRowT = Worksheets(strTab).Cells(Rows.Count, 1).End(xlUp).Row + 1

Powyższy kod służy do uzyskania numeru wiersza ostatniej komórki.

Proszę postępować zgodnie z poniższym kodem!

Sub Divide() 'Deklaracja zmiennych Dim intRowS As Integer, intRowT As Integer Dim strTab As String 'Inicjowanie z początkowym numerem wiersza intRowS = 10 'Sprawdzanie, czy komórka w pierwszej kolumnie jest pusta Do Until IsEmpty(Worksheets(1).Cells(intRowS, 1)) 'Pobieranie nazwy arkusza na podstawie wartości daty w pierwszej kolumnie strTab = Format(Cells(intRowS, 1).Value, "ddmmyy") 'Pobieranie numeru wiersza ostatniej komórki intRowT = Worksheets(strTab). Cells(Rows.Count, 1)).End(xlUp).Row + 1 'Kopiowanie danych do odpowiedniego arkusza Rows(intRowS).Copy Worksheets(strTab).Rows(intRowT) intRowS = intRowS + 1 Koniec pętli Sub 

Jeśli podobał Ci się ten blog, podziel się nim ze znajomymi na Facebooku. Możesz również śledzić nas na Twitterze i Facebooku.

Chcielibyśmy usłyszeć od Ciebie, daj nam znać, jak możemy poprawić naszą pracę i uczynić ją lepszą dla Ciebie. Napisz do nas na stronie e-mail