Błąd Excel VBA 1004

Błąd VBA 1004 jest błędem, który napotykamy podczas wykonywania kodu w VBA, jest również znany jako błąd wykonawczy VBA. Podczas gdy pracujemy w VBA lub w innym języku programowania, a nawet w naszej codziennej pracy, napotykamy różne rodzaje błędów. Czasami nawet brakuje nam jednego znaku w kodzie, co powoduje, że cały kod nie działa, a może cały kod jest nieprawidłowy.

Błędy są zdecydowanie częścią pisanego przez nas kodu. Może to być niezamierzone, ale istnieją. Bez względu na to, jak profesjonalnie jesteśmy w kodowaniu, błąd czasu wykonywania może wystąpić wszędzie. Jak wyjaśniono powyżej, błąd VBA 1004 jest błędem występującym podczas uruchamiania kodu w programie Excel. Jest również nazywany błędem zdefiniowanym przez aplikację lub zdefiniowanym przez obiekt.

Istnieją różne rodzaje powodów, dla których otrzymujemy VBA Runtime Error 1004 w programie Excel, poznajmy kilka z nich.

  • Błąd wykonania VBA 1004: Błąd metody „Zakres” obiektu „_ Globalny”:

Ten błąd występuje, gdy wartość zakresu, którą nazywamy VBA, jest niepoprawna. Jest również nazywany, ponieważ zawiodła metoda „Range” obiektu „_ Global”.

  • Błąd wykonania VBA Błąd 1004: ta nazwa jest już zajęta. Wypróbuj inny:

Nadajemy tę samą nazwę arkuszowi, który jest już zajęty przez inny arkusz.

  • Błąd czasu wykonania VBA 1004: Nie można uzyskać właściwości select klasy Range:

Jest to błąd, gdy wybieramy zakres w innym arkuszu bez aktywacji arkusza, do którego się odnosimy.

  • Błąd czasu wykonania VBA 1004: Metoda „Otwarcie” obiektu „Skoroszyty” nie powiodła się:

Ten błąd występuje, gdy próbujemy otworzyć skoroszyt, który jest już otwarty lub plik jest już używany przez inny program.

  • Błąd czasu wykonania VBA 1004: Niestety nie udało nam się znaleźć:

Ten błąd pojawia się, gdy próbujemy otworzyć arkusz, który nie istnieje.

Jak się dowiedzieliśmy, mogą istnieć różne przyczyny błędu wykonania. Błąd czasu wykonania może wystąpić w dowolnym wierszu kodu. Musimy się nauczyć, jak radzić sobie z tymi błędami i nazywa się to Obsługa błędów VBA.

Przykład błędu wykonawczego VBA 1004 w programie Excel

Teraz, gdy opisałem różne rodzaje błędów, które mogą wystąpić podczas uruchamiania dowolnego kodu VBA, nauczmy się, jak wyglądają na przykładach.

Możesz pobrać ten szablon Excel Błąd VBA 1004 tutaj - Szablon Excel Błąd VBA 1004

Błąd wykonania VBA 1004 - przykład nr 1

Jak wyjaśniono na temat tego błędu, ten błąd występuje, gdy odwołujemy się do niepoprawnie nazwanej wartości zakresu w VBA. Może się to zdarzyć, jeśli popełnimy błąd pisowni nazwanego zakresu, aby odnieść się do zakresu, który nawet nie istnieje. Aby to wykazać, stwórzmy najpierw nazwany zakres. Mam tutaj następujące dane.

  • Nazwijmy ten nagłówek tabeli danymi .

  • Przejdź do karty Deweloper kliknij Visual Basic, aby otworzyć VB Editor.

  • Zadeklaruj podfunkcję, aby rozpocząć pisanie kodu.

Kod:

 Sub Sample () End Sub 

  • Zadzwoń do nagłówka, który nazwaliśmy następującym kodem napisanym poniżej.

Kod:

 Zakres próbki podrzędnej () („Dane”) Wybierz End Sub 

  • Po uruchomieniu kodu możemy zobaczyć w programie Excel, że został wybrany, ponieważ poprawnie nazwaliśmy nagłówek.

  • Teraz błędnie przeliterowaliśmy pisownię nazwy nagłówka.

Kod:

 Zakres próbki podrzędnej () („Dane”) Wybierz End Sub 

  • Uruchom kod ponownie, aby zobaczyć wynik.

Dostajemy błąd wykonania VBA Runtime Error 1004, ponieważ źle wpisaliśmy nazwę zakresu.

Błąd czasu wykonania VBA 1004 - przykład nr 2

Ten błąd pojawia się, gdy próbujemy zmienić nazwę arkusza roboczego o nazwie, która jest już zajęta. Na przykład zmieniłem nazwę arkusza 1 na „ Anand ” i spróbuję zmienić nazwę arkusza 2 w taki sam sposób, aby zobaczyć wynik.

  • Przejdź do karty Deweloper kliknij Visual Basic, aby otworzyć VB Editor.
  • Zadeklaruj podfunkcję, aby rozpocząć pisanie kodu.

Kod:

 Sub Sample1 () End Sub 

  • Spróbuj zmienić nazwę arkusza 2 na Anand za pomocą następującego kodu poniżej,

Kod:

 Sub Próbki 1 () Arkusze robocze („Arkusz2”). Nazwa = „Anand” End Sub 

  • Uruchom powyższy kod i zobacz wynik.

Kiedy próbuję zmienić nazwę arkusza z nazwą, która jest już zajęta, pojawia się błąd.

Błąd czasu wykonania VBA 1004 - przykład nr 3

Spróbuję dodać wartość z arkusza 2 do zmiennej w arkuszu 3. Ale nie aktywuję arkusza 2 i zobaczę, co się stanie.

  • Przejdź do karty Deweloper kliknij Visual Basic, aby otworzyć VB Editor.
  • Zadeklaruj podfunkcję, aby rozpocząć pisanie kodu.

Kod:

 Sub Sample2 () End Sub 

  • Zadeklaruj dwie zmienne A i B jako liczbę całkowitą.

Kod:

 Sub Sample2 () Dim A As Integer Dim B As Integer End Sub 

  • W zmiennej B zapisz wartość A oprócz komórki A1 arkusza 2.

Kod:

 Sub Sample2 () Dim A As Integer Dim B As Integer B = A + Arkusze robocze („Arkusz2”). Zakres („A1”). Wybierz End Sub 

  • Załóżmy, że kod działa i użyj funkcji msgbox, aby wyświetlić wartość B.

Kod:

 Sub Sample2 () Dim A As Integer Dim B As Integer B = A + Arkusze robocze („Arkusz2”). Zakres („A1”). Wybierz MsgBox B End Sub 

  • Uruchom kod, aby zobaczyć uzyskany wynik.

Otrzymujemy ten błąd, ponieważ nie aktywowaliśmy arkusza 2, ale próbujemy użyć wartości arkusza 2.

Błąd czasu wykonania VBA 1004 - Przykład 4

Ten błąd czasu wykonywania pojawia się, gdy mamy już taką samą nazwę skoroszytu, ale próbujemy go otworzyć ponownie.

W tym przykładzie nazwa skoroszytu została już zmieniona na VBA 1004 Error.xlsm i spróbuję go otworzyć ponownie, który jest już otwarty i zobaczę, czy otrzymam błąd VBA 1004.

  • Przejdź do karty Deweloper kliknij Visual Basic, aby otworzyć VB Editor.
  • Zadeklaruj podfunkcję, aby rozpocząć pisanie kodu.

Kod:

 Sub Sample3 () End Sub 

  • Zadeklaruj zmienną jako skoroszyt.

Kod:

 Sub Sample3 () Dim A As Workbook End Sub 

Spróbuj otworzyć skoroszyt, który już otworzyliśmy, za pomocą następującego kodu.

Kod:

 Sub Sample3 () Dim A As Workbook Set wb = Workbooks.Open ("\\ VBA 1004 Error.xlsm", ReadOnly: = True, CorruptLoad: = xlExtractData) End Sub 

Uruchom powyższy kod, aby zobaczyć wynik.

Otrzymujemy ten błąd, ponieważ już otworzyliśmy ten sam skoroszyt.

Błąd czasu wykonania VBA 1004 - Przykład 5

Ten błąd pojawia się, gdy próbujemy otworzyć skoroszyt, który nie istnieje. Jest to nieco podobne do powyższego błędu, który otrzymujemy, ponieważ VBA nie może znaleźć skoroszytu.

  • Przejdź do karty Deweloper kliknij Visual Basic, aby otworzyć VB Editor.
  • Zadeklaruj podfunkcję, aby rozpocząć pisanie kodu.

Kod:

 Sub Sample4 () End Sub 

  • Spróbuj Otwórz dowolny skoroszyt z następującym kodem,

Kod:

 Sub Sample4 () Workbooks.Open Fileename: = "C: \ EDUCBA Content \ April \ VBA OR Function.xlsm" End Sub 

  • Usunąłem już arkusz z lokalizacji.
  • Uruchom kod, aby zobaczyć wynik.

Ponieważ arkusz nie istnieje w danej lokalizacji, otrzymujemy ten błąd.

Rzeczy do zapamiętania

  • Zawsze sprawdzaj błędy ortograficzne.
  • Nie zmieniaj nazw wielu arkuszy o tej samej nazwie.
  • Przed wywołaniem jakiegokolwiek innego odniesienia należy upewnić się, że aktywowano odpowiedni arkusz.
  • Przed próbą otwarcia innego arkusza roboczego upewnij się, że podana ścieżka jest poprawna.

Polecane artykuły

To był przewodnik po błędzie VBA 1004. Omówiliśmy tutaj błąd wykonania programu Excel VBA 1004 wraz z praktycznymi przykładami i szablonem programu Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. Dodaj lub usuń pasek błędów w programie Excel
  2. VBA While Loop | MS Excel
  3. Zrozumienie błędów w programie Excel
  4. Korzystanie z IFError w VBA

Kategoria: