Nie musisz, a nawet nie powinieneś korzystać z metody .Activate.
Jej użycie jest nieprofesjonalne;)
Zamiast przełączać się pomiędzy skoroszytami (co spowalnia pracę makra) podstaw obydwa skoroszyty do zmiennych:
Dim oXLS1 as Workbook, oXLS2 as Workbook
Set oXLS1=Workbooks.Open(Sciezka_do_skoroszytu1)
Set oXLS2=Workbooks.Open(Sciezka_do_skoroszytu2)
albo jeśli nie chcesz otwierać tych skoroszytów z poziomu kodu:
Dim oXLS1 as Workbook, oXLS2 as Workbook
Set oXLS1=Workbooks(nazwa_skoroszytu1)
Set oXLS2=Workbooks(nazwa_skoroszytu2)
posiadając reprezentację tych skoroszytów w kodzie możesz odwoływać się do adresów komórek w tych skoroszytach:
oXLS2.Worksheets(nazwa_arkusza).Range("A1").Value=oXLS1.Worksheets(nazwa_arkusza).Range("B2").Value
i już:) |