Excel VBA: Przechodzenie między komórkami i kopiowanie wartości do innego skoroszytu

Spędziłem już wiele godzin na tym problemie, ale nie udało mi się znaleźć rozwiązania roboczego.

Tutaj jest mójopis problemu:

Chcę przejść przez pewien zakres komórek w jednym skoroszycie i skopiować wartości do innego skoroszytu. W zależności od bieżącej kolumny w pierwszym skoroszycie, kopiuję wartości do innego arkusza w drugim skoroszycie. Kiedy wykonuję mój kod, zawsze dostajęruntime error 439: object does not support this method or property.

Mójkod wygląda mniej więcej tak:

Sub trial()

Dim Group As Range
Dim Mat As Range
Dim CurCell_1 As Range
Dim CurCell_2 As Range

Application.ScreenUpdating = False

Set CurCell_1 = Range("B3") 'starting point in wb 1

For Each Group in Workbooks("My_WB_1").Worksheets("My_Sheet").Range("B4:P4")
    Set CurCell_2 = Range("B4") 'starting point in wb 2
    For Each Mat in Workbooks("My_WB_1").Worksheets("My_Sheet").Range("A5:A29")
        Set CurCell_1 = Cells(Mat.Row, Group.Column) 'Set current cell in the loop
        If Not IsEmpty(CurCell_1)
            Workbooks("My_WB_2").Worksheets(CStr(Group.Value)).CurCell_2.Value = Workbooks("My_WB_1").Worksheets("My_Sheet").CurCell_1.Value 'Here it break with runtime error '438 object does not support this method or property
            CurCell_2 = CurCell_2.Offset(1,0) 'Move one cell down
        End If
    Next
Next

Application.ScreenUpdating = True

End Sub

Zrobiłem obszerne badania i wiem, jak skopiować wartości z jednego skoroszytu do innego, jeśli używasz jawnych nazw dla swoich obiektów (arkuszy i zakresów), ale nie wiem, dlaczego nie działa tak, jak zaimplementowałem je za pomocą zmienne. Szukałem również na stackoverlow i oczywiście Google, ale nie znalazłem podobnego problemu, który odpowiadałby na moje pytanie.

Więc mojapytanie jest: Czy możesz mi powiedzieć, gdzie jest błąd w moim kodzie lub czy istnieje inny łatwiejszy sposób na osiągnięcie tego samego w inny sposób?

To jest moje pierwsze pytanie tutaj, więc mam nadzieję, że wszystko w porządku z formatem mojego kodu, zadanym pytaniem i dostarczonymi informacjami. W przeciwnym razie daj mi znać.

questionAnswers(2)

yourAnswerToTheQuestion