Błąd VBA 1004 - nie powiodła się metoda wyboru klasy zakresu

Pierwszy raz plakat, więc jeśli jest jakieś formatowanie lub wytyczne, których nie przestrzegałem, daj mi znać, abym mógł to naprawić.

W zasadzie pytam użytkownika o katalog plików w pliku Excela, a następnie ustawiam niektóre zmienne (pierwotnie ustawione jako publiczne jako zmienne projektu, ponieważ były one używane i zmieniane w innych miejscach). Dodałem również wiersze, aby ustawić te zmienne na nic (tak na wszelki wypadek, nie sądzę, żeby to miało znaczenie). Następnie ustawiam te zmienne na plik programu Excel, skoroszyt i arkusze, do których chcę uzyskać dostęp.

Dim filepath as String
filePath = CStr(fileDialog)              'ask file dir, set to string
Dim sourceXL As Variant                  'these three were orig project variables
Dim sourceBook As Variant
Dim sourceSheet As Variant
Dim sourceSheetSum As Variant

Set sourceXL = Nothing                    'set to nothing in case...?
Set sourceBook = Nothing
Set sourceSheet = Nothing
Set sourceSheetSum = Nothing

Set sourceXL = Excel.Application          'set to the paths needed
Set sourceBook = sourceXL.Workbooks.Open(filePath)
Set sourceSheet = sourceBook.Sheets("Measurements")
Set sourceSheetSum = sourceBook.Sheets("Analysis Summary")

Dim measName As Variant                    'create variable to access later
Dim partName As Variant

sourceSheetSum.Range("C3").Select           'THIS IS THE PROBLEM LINE

measName = sourceSheetSum.Range(Selection, Selection.End(xlDown)).Value
sourceSheetSum.Range("D3").Select
partName = sourceSheetSum.Range(Selection, Selection.End(xlDown)).Value

Dlatego stworzyłem dwie różne zmienne arkusza „sourceSheets” i „sourceSheetsSum”, kod działa, gdy używam „sourceSheets”, ale błąd 1004 pojawia się, gdy używam „sourceSheetsSum”. Wypróbowałem również kod z całkowicie usuniętą zmienną „sourceSheet”, w przypadku, gdy z jakiegoś powodu nadpisano „sourceSheetSum”.

Jestem przekonany, że skoroszyt i arkusze excela istnieją i są poprawnie wywoływane, ponieważ uruchomiłem krótki fragment kodu, aby przechodzić przez wszystkie arkusze w skoroszycie i wyświetlać nazwy pokazane poniżej.

For j = 1 To sourceBook.Sheets.Count
Debug.Print (Sheets(j).name)
Next j

Z wyjściem debugowania

Pomiary
Podsumowanie analizy
Ustawienia analizy

Czy więc ktoś ma jakieś pomysły, co może oznaczać ten błąd, lub jak mogę znaleźć więcej informacji na temat tego, czym właściwie jest błąd?

EDYCJA: Więc postanowiłem dodać trochę do listy nazw arkuszy, nie wiem, czy to w ogóle pomoże.

For j = 1 To sourceBook.Sheets.Count
    listSheet(j) = Sheets(j).name
Next j    
Debug.Print (listSheet(2))    
Set sourceSheetSum = sourceBook.Sheets(listSheet(2))

Debugowanie drukuje Podsumowanie analizy, więc wiem, że arkusz istnieje w skoroszycie i nie powinno być żadnych problemów z „literówką” w nazwach.
Kod nadal ma ten sam błąd w tej samej linii.

deusxmach1na: Myślę, że chciałeś, żebym się zmienił

Dim sourceXL As Variant                  
Dim sourceBook As Variant
Dim sourceSheet As Variant
Dim sourceSheetSum As Variant

Set sourceSheet = sourceBook.Sheets("Measurements")

Do

Dim sourceXL As Excel.Application
Dim sourceBook As Excel.Workbook
Dim sourceSheet As Worksheet
Dim sourceSheetSum As Worksheet

Set sourceSheet = sourceBook.Worksheets("Measurements")

Ale to nie zmienia błędu, pamiętam, że był podobny do tego, a potem zmienił go, ponieważ przeczytałem, że ten wariant jest jak złapany, a nie taki solidny na jakim wariancie.

questionAnswers(4)

yourAnswerToTheQuestion