VBA tõrge 1004-rakenduse või objekti määratletud viga

See õpetus selgitab VBA viga 1004-rakenduse või objekti määratletud viga.

VBA käitusaja viga 1004 on tuntud kui rakenduse või objekti määratletud viga, mis ilmneb koodi töötamise ajal. Kodeerimisvigade tegemine (vt meie veakäsitlusjuhendit) on VBA õppimise lahutamatu osa, kuid tõrke põhjuste teadmine aitab teil tulevikus vigu vältida.

VBA tõrge 1004 - objekti pole olemas

Kui me viitame oma koodis olevale objektile, näiteks määratlemata vahemiku nimele, võib see tõrge ilmneda, kuna VBA -kood ei leia nime.

12345678 Sub CopyRange ()Dim CopyFrom As RangeTumeda kopeerimise vahemikuksMäära CopyFrom = Sheets (1) .Range ("CopyFrom")Määra CopyTo = Sheets (1) .Range ("CopyTo")CopyFrom.CopyCopyTo.PasteSpecial xlPasteValuesEnd Sub

Ülaltoodud näites kopeeritakse väärtused nimega vahemikust „CopyFrom” nimeta- tud vahemikku „CopyTo” - muidugi tingimusel, et need on olemasolevad nimevahemikud! Kui neid pole, kuvatakse tõrge 1004.

Lihtsaim viis selle vea vältimiseks ülaltoodud näites on luua vahemiku nimed Exceli töövihikus või viidata vahemikule traditsioonilises rea- ja veeruvormingus, nt: Vahemik („A1: A10”).

VBA tõrge 1004 - nimi on juba võetud

Viga võib ilmneda ka siis, kui proovite objekti ümber nimetada juba olemasolevaks objektiks - näiteks kui proovime Sheet1 ümber nimetada, kuid lehele antud nimi on juba teise lehe nimi.

123 AlamnimiTööleht ()ActiveSheet.Name = "Leht2"End Sub

Kui meil on juba leht 2, ilmneb tõrge.

VBA tõrge 1004 - objektile viitamine valesti

Viga võib ilmneda ka siis, kui olete oma koodis valesti viidanud mõnele objektile. Näiteks:

12345678 Sub CopyRange ()Dim CopyFrom As RangeTumeda kopeerimise vahemikuksMäära CopyFrom = Vahemik ("A1: A10")Määra CopyTo = Vahemik ("C1: C10")Vahemik (CopyFrom). KopeeriVahemik (CopyTo) .PasteSpecial xlPasteValuesEnd Sub

See annab meile taas tõrke 10004

Parandage kood ja viga enam ei kuvata.

12345678 Sub CopyRange ()Dim CopyFrom As RangeTumeda kopeerimise vahemikuksMäära CopyFrom = Vahemik ("A1: A10")Määra CopyTo = Vahemik ("C1: C10")CopyFrom.CopyCopyTo.PasteSpecial xlPasteValuesEnd Sub

VBA tõrge 1004 - objekti ei leitud

See tõrge võib ilmneda ka siis, kui proovime töövihikut avada ja töövihikut ei leita - sel juhul on töövihik objekt, mida ei leitud.

1234 Avatud OpenFile ()Dim wb TöövihikunaMäära wb = Töövihikud. Ava ("C: \ Data \ TestFile.xlsx")End Sub

Kuigi veakastis on teade erinev, on viga endiselt 1004.

wave wave wave wave wave