Ich habe mal wieder ein kleines Problem mit meiner Prozedur.
Ihr grober Aufbau:
Aus einer Excel-Tabelle (genannt Variante1) werden Daten in ein anderes Excel-Dokument (genannt Formulare) übertragen.
Vor der Übertragung öffnet die Prozedur das Dokument "Formulare", kopiert das erste Tabellenblatt (genannt Vorlage) und hängt es hinten an.
Dann kopiert er den Namen der in der Tabelle "Variante1" in der letzten beschriebenen Zelle von Spalte A steht.
Diesen Namen fügt er als Blattnamen des neu eingefügten Tabellenblattes im Dokument "Formulare" ein.
Danach erstellt er von diesem Tabellenblatt ein PDF-Dokument, speichert das Dokument "Formulare" ab und schließt es wieder.
Zum Schluss ist man wieder in der Ausgangsdatei und in der Tabelle "Variante1" und kann die nächste Zeile beschreiben.
Bis dahin hat alles mehr als super funktioniert und ich war richtig stolz.
Dann kam mir der Gedanke, dass so ein Lieferantenname auch mehrfach auftreten kann und es doch schön wäre, wenn die Prozedur dann nicht abbrechen würde, sondern nach einem neuen Namen fragt und diesen gleich einträgt.
Ich hab versucht das umzusetzen, aber die Prozedur will nicht so recht meine Vorstellungen umsetzen.
Folgendes hab ich mir ausgedacht:
dim a as string
For a = 1 To Sheets.Count
If Sheets(a).Name = Workbooks("NeuanlaufEinkaufsteil").Worksheets("Variante1").Range("A" & LZa) = True Then
ActiveSheet.Name = InputBox("Der Tabellenname ist bereits vergeben. Bitte tragen Sie hier einen neuen ein:")
Else
ActiveSheet.Name = Workbooks("NeuanlaufEinkaufsteil").Worksheets("Variante1").Range("A" & LZa)
End If
Next
Wenn ich die Prozedur mit diesem Extra durchlaufen lassen will und mit Absicht einen Namen doppelt verwende (um halt die Prozedur zu testen) , dann stoppt es immer an der Zeile nach Else. Die Fehlermeldung lautet: der Name kann nicht doppelt vergeben werden.
Ich hoffe ihr könnt mir helfen, ich hab schon unzählige Varianten versucht und bin langsam mit meinem Latein am Ende.
Liebe Grüße
Donna