Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA Sheet kopieren, namen einblenden und löschen
#1
Hallo
ich habe ein kleines Makro geschrieben welches folgende Aufgabe erledigen soll:

1. Tabelle 1 kopieren
2. Alle Namen im neu kopierten Sheet einblenden
3. Alle namen im neuen Sheet löschen

Leider bekomme ich aktuell noch einen Laufzeitfehler 1004. Das Problem scheint unter Punkt 3 aufzutreten. Wisst ihr woran das liegen könnte?

Danke und Gruß

Code:
Private Sub CommandButton1_Click()
Dim i As Name

'1) Copy active sheet into new Excel file.
Sheets("Tabelle1").Copy
With ActiveWorkbook
End With

'2) Make all names visible within new Excel file.
For Each i In ActiveWorkbook.Names
   i.Visible = True
Next

'3) Delete all names within new Excel file.
For Each defname In ActiveWorkbook.Names
defname.Delete
Next defname

End Sub

Kann das daran liegen dass meine exportierte Datei noch Verknüpfungen zur alten Datei hat?
Antworten Top
#2
Hi,

prüfe vorher, ob es überhaupt was zu löschen gibt.

zum Beispiel:
If Activeworkbook.Names.Count > 0 Then

end if
gruß
Marco
Antworten Top
#3
Hi

Zitat:prüfe vorher, ob es überhaupt was zu löschen gibt.
Das macht Indirekt die each Schleife schon. Wenn es keine gibt startet die Schleife auch nicht.


Code:
For Each defname In ActiveWorkbook.Names
  ActiveWorkbook.Names(defname.Name).Delete
Next defname

Gruß Elex
Antworten Top
#4
Gut.
Wenn wir dann innerhalb der Schleife 1004 bekommen ist der Grund unter dem Punkt

  • Änderung von Auflistungselementen

    hier nachzulesen.
  • gruß
    Marco
    Antworten Top


    Gehe zu:


    Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste