Hoe vba runtime-fout 1004 op te lossen?
VBA-runtimefout 1004 treedt op tijdens het uitvoeren van een macro in Excel. Dit is een fout die om verschillende redenen kan optreden. In het onderstaande voorbeeld wordt, zoals u kunt zien, wanneer ik de code uitvoer, runtimefout ‘1004’ weergegeven. In eenvoudige bewoordingen kun je ook zeggen dat het gebeurt wanneer je een activiteit niet kunt uitvoeren met het object of de applicatie.
In deze zelfstudie zullen we verschillende andere redenen voor deze runtimefout 1004 begrijpen.
Error1: VBA-runtimefout 1004: deze naam is al in gebruik. Probeer een andere:
Zoals ik hierboven heb gedeeld, toont VBA u een runtime-fout met code 1004 als u een blad probeert toe te voegen met de naam die al in de werkmap staat met behulp van een VBA-code.
Zelfs wanneer u probeert een werkblad te hernoemen, krijgt u dezelfde foutmelding van VBA.
In de bovenstaande code heb ik geprobeerd het blad “Blad2” te hernoemen met de naam “Blad1”, maar zoals u kunt zien, heb ik “Blad1” al in de werkmap; VBA liet mij foutcode 1004 zien.
Om dit probleem op te lossen, moet u controleren of er al een blad in de werkmap bestaat of niet.
Fout 2: VBA Runtime Error 1004: ‘Range’-methode van object ‘_Global’ is mislukt:
Zoals u weet, kunt u in Excel een benoemd bereik maken, maar als u met VBA-code naar dat benoemde bereik probeert te verwijzen en de naam verkeerd spelt, krijgt u mogelijk de runtimefout 1004 Object ‘Range’-methode ‘_Global’ mislukt.
In het volgende voorbeeld heb ik een benoemd bereik met de naam “myRange”, maar bij het schrijven van de macro heb ik het verkeerd gespeld als “myRang”, ook al is dit een typfout; VBA is niet zo slim om deze fout te identificeren en naar het juiste benoemde bereik te verwijzen.
Er is geen benoemd bereik met de naam die ik noemde, en daarom werd mij runtime-fout 1004 getoond.
Fout 3: VBA-runtimefout 1004: Kan klasse niet selecteren Bereikmethode:
Wanneer u VBA-code gebruikt om een bereik te selecteren dat niet in het actieve werkblad staat, geeft VBA runtimefout 1004 weer. Omdat, als u een cel of een celbereik wilt selecteren voor een bladberekening, deze op dat moment actief moet zijn .
U kunt geen cel in blad1 selecteren als blad2 momenteel actief is.
Zoals u in het volgende voorbeeld kunt zien, heb ik dezelfde fout gemaakt toen ik naar cel A1 van het eerste blad verwees, maar blad 2 is actief.
De beste manier om met deze fout om te gaan, is door eerst het blad te activeren en vervolgens een regel code te schrijven die een cel of bereik van dat blad selecteert. U kunt ook controleren of een blad actief is of niet, vervolgens de cel van dat blad selecteren en als dat blad op de een of andere manier niet actief is, kunt u een bericht aan de gebruiker laten zien om dit blad eerst in te schakelen.
Error4: VBA-runtimefout 1004 Kan methodebereikklasse niet activeren:
Net als de reden hierboven, wanneer u een cel of celbereik probeert te activeren vanuit een specifiek werkblad dat op dit moment niet actief is, laten we u runtimefout 1004 zien (kan de methodebereikklasse niet activeren :).
In het voorbeeld over toen ik probeerde cel A1 in blad1 te activeren, kreeg ik runtimefout 1004, het actieve blad was blad2.
Om deze fout opnieuw op te lossen, moet u controleren of het werkblad waarnaar u verwijst actief is of niet. Of u kunt ook controleren of dit blad in de werkmap aanwezig is of niet.
Error5: VBA Runtime Method Error 1004 Sorry, we konden het volgende niet vinden:
Als u een Excel-bestand probeert te openen via een pad, maar de werkmap bestaat niet, dan is deze mogelijk verplaatst, verwijderd of hernoemd. In dit geval zal VBA u opnieuw een runtime-fout van 1004 tonen.
Dit is wat er gebeurde in het volgende voorbeeld, waarin ik probeerde het bestand te openen met mijn bureaubladpad, maar dat bestand is er niet en er werd een fout weergegeven.
Om met deze situatie om te gaan, kunt u VBA-code gebruiken om te controleren of het bestand waarnaar u verwijst in de map aanwezig is of niet.
Fout 6: Kan Object Binders VBA Runtime Error 1004-methode niet openen:
Deze fout heeft ook betrekking op de werkmap. Dus wanneer u een werkmap probeert te openen met de naam waarvoor een boek al bestaat en op dit moment open is, geeft VBA u runtime-fout 1004 weer (Openmethode objectwerkmappen mislukt).
Hetzelfde gebeurde in het bovenstaande voorbeeld, waar ik probeerde een werkmap te openen die al open was, en VBA liet me een runtime-fout zien (1004).
Hoe VBA-uitvoeringstijd te repareren (fout 1004)
Fout 1004 is een runtimefout die optreedt bij het uitvoeren van VBA-code. En alle fouten die we hierboven hebben besproken, zijn te wijten aan menselijke fouten tijdens het schrijven van de code, volgens de punten die u kunt gebruiken om runtime-fout 1004 te voorkomen.
- Voer een stapsgewijze code-uitvoering uit om te zien op welke regel de fout optreedt.
- Zorg ervoor dat u alle namen controleert van de werkmappen waarnaar u verwijst.
- U kunt ook VBA-code gebruiken om te controleren of een werkmap al geopend is of niet.
- En gebruik de activatiemethode om een werkblad te activeren voordat u naar een cel of bereik ervan verwijst.