Erstellen und Benennen von Arbeitsblatt in Excel VBA - Stack-Überlauf
Ich habe einige sehr einfachen Code, der ein neues Arbeitsblatt hinzufügt, nachdem die aktuellen Arbeitsblatt, in ein Excel-Dokument, und dann ändert seinen Namen in eine in einem Textfeld in einem Benutzerformular eingetragen. Funktioniert auf eine neue Arbeitsmappe, jedoch in einer Arbeitsmappe, die eine Reihe von vorhandenen Arbeitsblätter hat es das neue Arbeitsblatt erstellt, sie aber nicht umbenennen.
Dies geschieht nur das erste Mal, wenn Sie diesen Code ausführen, das nächste Mal gut laufen wird. Die Sache, die es noch seltsamer macht, ist, dass, wenn Sie den VBA-Editor zu öffnen, um zu versuchen und zu debuggen, läuft es dann auch in Ordnung. Dies macht natürlich ziemlich schwierig, den Fehler zu finden.
Der Code Ich verwende hier:
Ziemlich einfach. Ich frage mich, ob dieses Problem ist, dass es versucht, das Blatt zu benennen, bevor sie richtig angelegt? Gibt es einen besseren Weg, um diesen Code zu schreiben?
Update: Ich habe der Autor dieses mit MsgBoxes debuggen, wie das Öffnen der Debugger den Anschlag Problem macht, und es scheint, dass es hält nur den Code Verarbeitung auf halbem Wege durch:
Es ist schwer zu sagen, was hier gefragt wird. Diese Frage ist nicht eindeutig, vage, unvollständig, zu weit gefasst oder rhetorische und vernünftigerweise nicht in seiner jetzigen Form beantwortet werden. Für Hilfe Klärung dieser Frage, so dass sie wieder geöffnet werden können, finden Sie in der Hilfe. Wenn diese Frage neu formuliert werden, um die Regeln in der Hilfe zu passen. bitte die Frage bearbeiten.
Verwenden Sie einen Fehlerhandler? Wenn Sie Fehler sind zu ignorieren und versuchen, ein Blatt das gleiche wie ein vorhandenes Blatt oder einen Namen mit ungültigen Zeichen zu nennen, könnte es knapp über dieser Linie übersprungen werden. Siehe die CleanSheetName Funktion hier