Excel VBA-fout 1004

VBA 1004-fout is een fout die we tegenkomen tijdens het uitvoeren van een code in VBA, ook bekend als VBA-runtimefout. Terwijl we in VBA of in een andere programmeertaal of zelfs in ons dagelijks werk werken, komen we verschillende soorten fouten tegen. Soms missen we zelfs een enkel teken in de code waardoor de hele code niet werkt of misschien is de hele code verkeerd.

Fouten maken absoluut deel uit van de code die we schrijven. Het kan onbedoeld zijn, maar ze bestaan. Hoe pro we ook zijn in codering, runtime-fouten kunnen overal optreden. Zoals hierboven uitgelegd, is VBA 1004-fout een fout die optreedt tijdens de looptijd van de code in excel. Het wordt ook een door de toepassing gedefinieerde of door een object gedefinieerde fout genoemd.

Er zijn verschillende soorten redenen waarom we VBA Runtime Error 1004 in Excel krijgen, laten we er enkele van leren.

  • VBA Runtime Error 1004: Method 'Range' van object '_ Global' is mislukt:

Deze fout treedt op wanneer de bereikwaarde die we naar VBA verwijzen onjuist is. Het wordt ook genoemd als methode "Bereik" van object '_ Globaal' mislukt.

  • VBA Run Time Error 1004: die naam is al in gebruik. Probeer een andere:

We geven dezelfde naam aan een werkblad dat al door een ander werkblad wordt ingenomen.

  • VBA Runtime Error 1004: Kan de eigenschap select van Bereikklasse niet verkrijgen:

Dit is een fout wanneer we een bereik in een ander werkblad selecteren zonder het werkblad waarnaar we verwijzen te activeren.

  • VBA Runtime Error 1004: methode 'Open' van object 'Workbooks' is mislukt:

Deze fout treedt op wanneer we proberen een werkmap te openen die al is geopend of het bestand al door een ander programma wordt gebruikt.

  • VBA Runtime Error 1004: Sorry, we konden het niet vinden:

We krijgen deze foutmelding wanneer we proberen een werkblad te openen dat niet bestaat.

Zoals we hebben geleerd, kunnen er verschillende redenen zijn waarom we een runtime-fout krijgen. Runtime-fout kan op elke regel code voorkomen. We moeten leren hoe we met deze fouten kunnen omgaan en dit wordt VBA-foutafhandeling genoemd.

Voorbeeld van VBA Runtime Error 1004 in Excel

Nu ik verschillende soorten fouten heb beschreven die kunnen optreden tijdens de uitvoering van een VBA-code, laten we ze nu leren hoe ze met voorbeelden worden weergegeven.

U kunt deze VBA 1004 Error Excel Template hier downloaden - VBA 1004 Error Excel Template

VBA Runtime Error 1004 - Voorbeeld # 1

Zoals uitgelegd over deze fout, treedt deze fout op wanneer we verwijzen naar een onjuiste benoemde bereikwaarde in VBA. Dit kan gebeuren als we een spelfout maken van het genoemde bereik om een ​​bereik te verwijzen dat niet eens bestaat. Om dit aan te tonen, laten we eerst een benoemd bereik maken. Ik heb de volgende gegevens hier.

  • Laten we deze tabelkop als DATA noemen.

  • Ga naar het tabblad Ontwikkelaars en klik op Visual Basic om VB Editor te openen.

  • Declareer de subfunctie om te beginnen met het schrijven van de code.

Code:

 Sub-monster () Einde Sub 

  • Roep de koptekst op met de volgende code die hieronder wordt geschreven.

Code:

 Sub Sample () Bereik ("Data") Selecteer End Sub 

  • Wanneer we de code uitvoeren, zien we in de excel dat deze is geselecteerd omdat we de header correct hebben aangeroepen.

  • Nu spellen we de spelling voor de kopnaam verkeerd.

Code:

 Sub Sample () Bereik ("Dataa") Selecteer End Sub 

  • Voer de code opnieuw uit om het resultaat te zien.

We krijgen Excel VBA Runtime Error 1004 omdat we de bereiknaam verkeerd hebben gespeld.

VBA Runtime Error 1004 - Voorbeeld # 2

We krijgen deze foutmelding wanneer we proberen een werkblad te hernoemen met een naam die al in gebruik is. Ik heb bijvoorbeeld blad 1 hernoemd als " Anand " en ik zal proberen blad 2 als hetzelfde te hernoemen en het resultaat te zien.

  • Ga naar het tabblad Ontwikkelaars en klik op Visual Basic om VB Editor te openen.
  • Declareer een subfunctie om te beginnen met het schrijven van de code.

Code:

 Sub Sample1 () Einde Sub 

  • Probeer blad 2 te hernoemen als Anand met de volgende code hieronder,

Code:

 Sub Sample1 () Werkbladen ("Sheet2"). Name = "Anand" End Sub 

  • Voer de bovenstaande code uit en bekijk het resultaat.

Wanneer ik een blad probeer te hernoemen met de naam die al in gebruik is, krijg ik een foutmelding.

VBA Runtime Error 1004 - Voorbeeld # 3

Ik zal proberen de waarde van blad 2 toe te voegen aan een variabele in blad 3. Maar ik zal blad 2 niet activeren en zien wat er gebeurt.

  • Ga naar het tabblad Ontwikkelaars en klik op Visual Basic om VB Editor te openen.
  • Declareer een subfunctie om te beginnen met het schrijven van de code.

Code:

 Sub Sample2 () Einde Sub 

  • Declareer twee variabelen A en B als een geheel getal.

Code:

 Sub Sample2 () Dim A als geheel getal Dim B als geheel getal Einde Sub 

  • Sla in variabele B de waarde van A op naast cel A1 van blad 2.

Code:

 Subvoorbeeld2 () Dim A als geheel getal Dim B als geheel getal B = A + werkbladen ("Sheet2"). Bereik ("A1"). Selecteer End Sub 

  • Laten we aannemen dat de code werkt en de msgbox-functie gebruiken om de waarde van B weer te geven.

Code:

 Sub Sample2 () Dim A als geheel getal Dim B als geheel getal B = A + werkbladen ("Sheet2"). Bereik ("A1"). Selecteer MsgBox B End Sub 

  • Voer de code uit om het verkregen resultaat te zien.

We krijgen deze fout omdat we blad 2 niet hebben geactiveerd, maar we proberen een waarde van blad 2 te gebruiken.

VBA Runtime Error 1004 - Voorbeeld # 4

We komen deze runtime-fout tegen wanneer we al dezelfde naam van de werkmap hebben geopend, maar we proberen het opnieuw te openen.

Voor dit voorbeeld heb ik mijn werkmap al hernoemd als VBA 1004 Error.xlsm en ik zal proberen deze opnieuw te openen, die al open is en kijken of ik VBA 1004 Error krijg.

  • Ga naar het tabblad Ontwikkelaars en klik op Visual Basic om VB Editor te openen.
  • Declareer een subfunctie om te beginnen met het schrijven van de code.

Code:

 Sub Sample3 () Einde Sub 

  • Declareer een variabele als de werkmap.

Code:

 Sub Sample3 () Dim A als werkboek Einde Sub 

Probeer de werkmap te openen die we momenteel al hebben geopend met de volgende code.

Code:

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

Voer de bovenstaande code uit om het resultaat te zien.

We krijgen deze foutmelding omdat we dezelfde werkmap al hebben geopend.

VBA Runtime Error 1004 - Voorbeeld # 5

We krijgen deze foutmelding wanneer we proberen een werkmap te openen die niet bestaat. Dit is enigszins vergelijkbaar met de bovenstaande foutmelding omdat VBA de werkmap niet kan vinden.

  • Ga naar het tabblad Ontwikkelaars en klik op Visual Basic om VB Editor te openen.
  • Declareer een subfunctie om te beginnen met het schrijven van de code.

Code:

 Sub Sample4 () Einde Sub 

  • Probeer een werkmap met de volgende code te openen,

Code:

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

  • Ik heb het blad al van de locatie verwijderd.
  • Voer de code uit om het resultaat te zien.

Omdat het blad niet bestaat op de gegeven locatie, krijgen we deze foutmelding.

Dingen om te onthouden

  • Controleer altijd op spelfouten.
  • Wijzig de naam van meerdere werkbladen met dezelfde naam niet.
  • Zorg ervoor dat u het betreffende werkblad activeert voordat u een andere referentie oproept.
  • Controleer voordat u een ander werkblad probeert te openen of het opgegeven pad correct is.

Aanbevolen artikelen

Dit is een gids voor VBA 1004-fout geweest. Hier hebben we Excel VBA Runtime Error 1004 besproken, samen met praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. Foutbalk toevoegen of verwijderen in Excel
  2. VBA While Loop | MS Excel
  3. Fouten begrijpen in Excel
  4. IFError gebruiken in VBA

Categorie: