Ostatni wiersz w zmieniającym się zakresie

0

Cześć. Jestem dość zielony z programowania w vba ale staram się pogłębiać wiedzę, utknąłem przy raczej dość prostej rzeczy. Napisałem skrypt który wygląda mniej więcej tak:

Sub AddNewProduct()

Dim lastrow As Long
Dim i As Long

lastrow = ActiveSheet.UsedRange.Rows.Count

    For i = 2 To lastrow
       If Cells(i, "A").Value <> Cells(i - 1, "A").Value Then
        Rows(i).Select
        Selection.Copy
        Selection.Insert Shift:=xlDown
        Application.CutCopyMode = False
        Cells(i, "AG").Select
        Selection.ClearContents
        Cells(i, "AJ").Select

        ActiveCell.FormulaR1C1 = "Nowy produkt"
      End If
    
End Sub

Skrypt w skrócie dodaje wiersze na podstawie warunku, przez co zakres podany w pętli for (do ostatniego wiersza pierwotnej kolumny) jest zbyt mały i po dodaniu dodatkowych wierszy zatrzymuje się na wartości zadeklarowanej w lastrow. Nie do końca wiem jak zrobić aby skrypt wykonywał instrukcję do końca kolumny uwzględniając dodane wiersze. Bardzo proszę o pomoc we wskazaniu co mógłbym zmienić aby skrypt działał obejmując cały zakres. Z góry dziękuję za każdą radę

0

Przed End If daj:
Lastrow = Lastrow + 1

1 użytkowników online, w tym zalogowanych: 0, gości: 1