Eroarea Excel VBA 1004

VBA 1004 Error este o eroare pe care o întâlnim în timp ce executăm un cod în VBA, de asemenea, este cunoscută sub denumirea de VBA Runtime error. În timp ce lucrăm în VBA sau în orice alt limbaj de programare sau chiar în activitatea noastră de zi cu zi, întâlnim diferite tipuri de erori. Uneori, chiar ne lipsește un singur caracter din cod, ceea ce face ca întregul cod să nu funcționeze sau poate că întregul cod este greșit.

Erorile sunt cu siguranță o parte a codului pe care îl scriem. Poate fi neintenționat, dar există. Oricât de profesioniști suntem în codificare, eroarea de rulare poate apărea oriunde. Așa cum s-a explicat mai sus VBA 1004 Eroarea este o eroare care apare în timpul rulării codului în excel. Se mai numește o aplicație definită sau eroare definită de obiect.

Există diferite tipuri de motive pentru care obținem VBA Runtime Error 1004 în excel, permiteți-ne să învățăm câteva dintre ele.

  • VBA Runtime Error 1004: Metoda „Interval” a obiectului „_ Global” a eșuat:

Această eroare apare atunci când valoarea intervalului la care ne referim VBA este incorectă. De asemenea, este numită Metoda „Interval” a obiectului „_ Global” a eșuat.

  • VBA Eroarea timpului de rulare 1004: Acest nume este deja luat. Încercați altul:

Dăm același nume unei foi de lucru care este deja luată de o altă foaie de lucru.

  • VBA Runtime Error 1004: Nu se poate obține proprietatea selectată a clasei Range:

Aceasta este o eroare atunci când selectăm un interval într-o altă foaie de lucru fără a activa foaia de lucru la care ne referim.

  • VBA Runtime Error 1004: Metoda „Deschisă” a obiectului „Cărți de lucru” a eșuat:

Această eroare apare atunci când încercăm să deschidem o carte de lucru care este deja deschisă sau fișierul este deja folosit de un alt program.

  • VBA Runtime Error 1004: Ne pare rău că nu am putut găsi:

Obținem această eroare atunci când încercăm să deschidem o foaie de lucru care nu există.

După cum am aflat, pot exista diverse motive pentru care avem o eroare de rulare. Eroarea de rulare poate apărea la orice linie de cod. Trebuie să învățăm cum să învățăm să gestionăm aceste erori și se numește VBA Error Management.

Exemplu de eroare VBA Runtime 1004 în Excel

Acum, după cum am descris diferite tipuri de erori care pot apărea în timpul rulării oricărui cod VBA, acum să le învățăm cum apar cu exemple.

Puteți descărca acest șablon VBA 1004 Error Excel aici - Modelul VBA 1004 Error Excel

VBA Runtime Error 1004 - Exemplul # 1

Așa cum am explicat despre această eroare, această eroare apare atunci când ne referim la o valoare incorectă a intervalului numit în VBA. Acest lucru se poate întâmpla dacă facem o greșeală de ortografie a intervalului numit de pentru a referi un interval care nici măcar nu există. Pentru a demonstra acest lucru, să facem mai întâi o gamă numită. Am următoarele date aici.

  • Să denumim acest antet de tabel drept DATA .

  • Accesați fila Dezvoltator, faceți clic pe Visual Basic pentru a deschide VB Editor.

  • Declarați subfuncția pentru a începe să scrieți codul.

Cod:

 Sub eșantion () End Sub 

  • Apelați antetul pe care l-am numit după următorul cod scris mai jos.

Cod:

 Sub Sample () Interval ("Date"). Selectați End Sub 

  • Când rulăm codul, putem vedea în excel că a fost selectat așa cum am numit antetul corect.

  • Acum greșim greșit ortografia pentru numele antetului.

Cod:

 Sub Sample () Interval ("Dataa"). Selectați End Sub 

  • Executați din nou codul pentru a vedea rezultatul.

Obținem Excel VBA Runtime Error 1004, deoarece am scris greșit numele intervalului.

VBA Runtime Error 1004 - Exemplul # 2

Obținem această eroare atunci când încercăm să redenumim o foaie de lucru cu un nume care este deja luat. De exemplu, am redenumit foaia 1 ca „ Anand ” și voi încerca să redenumesc foaia 2 la fel ca apoi să văd rezultatul.

  • Accesați fila Dezvoltator, faceți clic pe Visual Basic pentru a deschide VB Editor.
  • Declarați o sub-funcție pentru a începe să scrieți codul.

Cod:

 Sub Eșantion1 () Final Sub 

  • Încercați să redenumiți foaia 2 ca Anand prin următorul cod de mai jos,

Cod:

 Sub Eșantion1 () Fișe de lucru („Foaie2”). Nume = „Anand” Finalizare Sub 

  • Rulați codul de mai sus și vedeți rezultatul.

Când încerc să redenumesc o foaie cu numele care a fost deja luat, am primit o eroare.

VBA Runtime Error 1004 - Exemplul # 3

Voi încerca să adaug valoarea din foaia 2 la o variabilă din foaia 3. Dar nu voi activa foaia 2 și voi vedea ce se întâmplă.

  • Accesați fila Dezvoltator, faceți clic pe Visual Basic pentru a deschide VB Editor.
  • Declarați o sub-funcție pentru a începe să scrieți codul.

Cod:

 Sub Eșantion2 () Final Sub 

  • Declarați două variabile A și B ca un număr întreg.

Cod:

 Sub eșantion2 () Dim A Ca număr întreg Dim B Ca număr final sub 

  • În variabila B stocați valoarea A în plus față de celula A1 a foii 2.

Cod:

 Sub eșantion2 () Dim A ca număr întreg Dim B Ca număr întreg B = A + Fișe de lucru („Foaie2”). Gama („A1”). 

  • Să presupunem că codul funcționează și să folosim funcția msgbox pentru a afișa valoarea lui B.

Cod:

 Sub Eșantion2 () Dim A Ca Integer Dim B Ca Integer B = A + Fișe de lucru ("Foaie2"). Gama ("A1"). Selectați MsgBox B End Sub 

  • Rulați codul pentru a vedea rezultatul obținut.

Obținem această eroare deoarece nu am activat foaia 2, dar încercăm să folosim o valoare a foii 2.

VBA Runtime Error 1004 - Exemplul # 4

Întâlnim această eroare de rulare atunci când avem deja același nume al caietului de lucru deschis, dar încercăm să îl deschidem din nou.

Pentru acest exemplu, am redenumit deja cartea de lucru ca VBA 1004 Error.xlsm și voi încerca să-l deschid din nou, care este deja deschis și să văd dacă am VBA 1004 Error.

  • Accesați fila Dezvoltator, faceți clic pe Visual Basic pentru a deschide VB Editor.
  • Declarați o sub-funcție pentru a începe să scrieți codul.

Cod:

 Sub Eșantion3 () Final Sub 

  • Declarați o variabilă ca fișă de lucru.

Cod:

 Sub Eșantion3 () Dim A Ca Sub Workbook End Sub 

Încercați să deschideți cartea de lucru pe care am deschis-o deja cu codul următor.

Cod:

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

Executați codul de mai sus pentru a vedea rezultatul.

Obținem această eroare pentru că deja am deschis același registru de lucru.

VBA Runtime Error 1004 - Exemplul # 5

Obținem această eroare atunci când încercăm să deschidem o carte de lucru care nu există. Aceasta este oarecum similară cu eroarea de mai sus pe care o obținem, deoarece VBA nu poate găsi cartea de lucru.

  • Accesați fila Dezvoltator, faceți clic pe Visual Basic pentru a deschide VB Editor.
  • Declarați o sub-funcție pentru a începe să scrieți codul.

Cod:

 Sub Eșantion4 () Final Sub 

  • Încercați să deschideți orice carte de lucru cu următorul cod,

Cod:

 Sub Eșantion4 () Workbooks.Open Nume fișier: = "C: \ EDUCBA Content \ April \ VBA OR Function.xlsm" End Sub 

  • Am șters deja foaia din locație.
  • Rulați codul pentru a vedea rezultatul.

Deoarece foaia nu există la locația dată, vom primi această eroare.

Lucruri de amintit

  • Verificați întotdeauna greșelile de ortografie.
  • Nu redenumiți mai multe foi de lucru cu același nume.
  • Înainte de a apela orice altă referință pentru a fi sigur că activați foaia de lucru respectivă.
  • Înainte de a încerca să deschideți orice altă foaie de lucru, asigurați-vă că calea furnizată este corectă.

Articole recomandate

Acesta a fost un ghid pentru eroarea VBA 1004. Aici am discutat despre Eroarea de executie Excel VBA 1004 împreună cu exemple practice și șablon Excel descărcabil. De asemenea, puteți parcurge și alte articole sugerate -

  1. Adăugați sau eliminați bara de eroare în Excel
  2. VBA În timp ce buclă | MS Excel
  3. Înțelegerea erorilor în Excel
  4. Utilizarea IFError în VBA

Categorie: