Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1600to1604
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
VBA - Tabellenname ändern
12.01.2018 08:06:38
Tobias
Hallo liebes Forum,
zunächst einmal ein wirklich GROßES Danke!! Jede VBA-Frage die ich gegooglet habe, habt ihr mir beantwortet, dank euch ist mein Projekt was geworden! DANKE DAFÜR!!!
Nun zu meiner Frage, die ich in dieser Form leider nur "ähnlich" per SuFu gefunden habe. Leider reichen meine Kenntnisse nicht aus, um die in dem Beitrag gegebene Antwort zu abstrahieren.
Folgendes: Ich lasse per Userform eine "Vorlage" kopieren, und die neue Tabelle ausfüllen. Anschließend soll der Tabellenname in "Inhalt C1" + "Leerzeichen" + "Inhalt M3" + "Lerrzeichen und heutiges Datum" geändert werden.
In C1 soll ein Kundenname Stehen, also reiner Text. M3 soll den Maschinentypen beschreiben, welche sich i.d.R. aus Buchstaben + Zahlen (+ ggf. weitere Buchstaben) besteht. Beispiel: XY345Z
Mein Code schafft bisher folgendes: Neuer Name = "Inhalt C1" + "Leerzeichen" + "Leerzeichen + heutiges Datum".
Könnt ihr ersehen wo mein Fehler ist?
Hier der Code
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$1" Or Target.Address = "$M$3" Then
On Error Resume Next
Sheets("Neu").Name = Range("C1") & " " & Range("M3").Value & Format(Now, " dd.mm.yy")
End If
[...]
Bei Or Target.Address = "$M"3" bin ich mir schon nicht sicher :s....

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Tabellenname ändern
12.01.2018 09:00:38
UweD
Hallo
bei mir läuft der Code korrekt;
es muss aber ein Blatt mit dem Namen "Neu" vorhanden sein.
dadurch dass du On Error Resume Next gesetzt hast, fällt der Fehler nicht auf, falls das Blatt so ggf. nicht vorhanden ist.
LG UweD
AW: VBA - Tabellenname ändern
12.01.2018 09:14:14
Tobias
Danke für Deine Antwort.
Die Vorlage wird per Schaltfläche kopiert und in "Neu" umbenannt, anschließend öffnet sich die UserForm. Wenn die Userform ausgefüllt und geschlossen wird, werden die Werte in die entsprechenden Zellen gecshrieben,das Tabellenblatt umbenannt, allerdings wird Zelleninhalt "M3" nicht übernommen.... Inhalt von C1 und auch das "Leerzeichen" und das "Leerzeichen + Datum" wird eingefügt, M3 wird allerdings "ignoriert"....
Hast Du irgendeine Idee warum dies sein könnte?
Habe soeben auch noch etwas getestet:
Hier ein Teilcode meiner UserForm:
Private Sub CommandButton_Daten_Click()
If TextBox_Kunde = "" Then
MsgBox "Unbedingt Kunden eintragen!", 48
TextBox_Kunde.SetFocus
Else:
ActiveSheet.Range("C1").Value = TextBox_Kunde.Value
ActiveSheet.Range("M1").Value = TextBox_Ansprechpartner.Value
ActiveSheet.Range("C2").Value = TextBox_Niederlassung.Value
ActiveSheet.Range("M2").Value = TextBox_Rufnummer.Value
ActiveSheet.Range("C3").Value = TextBox_Seriennummer.Value
ActiveSheet.Range("M3").Value = TextBox_Maschinentyp.Value
ActiveSheet.Range("H6").Value = ComboBox_MA.Value
ActiveSheet.Range("H7").Value = TextBox_Auftragsnummer.Value
ActiveSheet.Range("B11").Value = TextBox_Notizen.Value
[...]
Wenn ich nun "ActiveSheet.Range("M3").Value = TextBox_Maschinentyp.Value" in die erste Zeile nach dem Else schiebe (vor ...("C1")), dann wird die Neue Tabelle in "Leerzeichen" + "M3" + "Leerzeichen + Datum" umbenannt und C1 ignoriert....
Sorry fürs umständliche Formulieren... Falls mehr von dem Code benötigt wird, einfach bescheid sagen.
Anzeige
AW: VBA - Tabellenname ändern
12.01.2018 09:15:12
Tobias
/Edit: Frage noch offen.
AW: VBA - Tabellenname ändern
12.01.2018 09:48:20
UweD
Hallo nochmal
Bei ActiveSheet.Range("C1").Value = TextBox_Kunde.Value wird die Zelle C1 ja geändert.
Dadurch läuft das change_event das erste mal ab und der Blattname wird schon von NEU in den bis dahin bekannten Text geändert.
Wenn dann weiter unten mit ActiveSheet.Range("M3").Value = TextBox_Maschinentyp.Value
die Zelle M3 geändert wird, läuft das change_event erneut ab.
Da existiert das Blatt Neu aber schon nicht mehr. Durch die Fehlerbehandlung fällt das im Code nicht auf.
Du musst also vorher mit Application.EnableEvents=false ausschalten und vor M3-Änderung wieder einschalten.


Warum nutzt du überhaupt das change_event ?
Mach die Umbenennung doch direkt im Hauptmakro.
LG UweD
Anzeige
AW: VBA - Tabellenname ändern
12.01.2018 11:42:42
UweD
Hallo
du kannst natürlich auch im change_event den altennamen explizit weglassen
so...
Me.Name = Range("C1") & " " & Range("M3").Value & Format(Now, " dd.mm.yy")
dann ist es egal, wie das Blatt heisst
LG UweD
AW: VBA - Tabellenname ändern
12.01.2018 11:54:05
Tobias
Hallo UweD,
DANKE für deine Erklärung. Warum ich das Change-event nutze? Ehrlich gesagt: keine Ahnung, aber es funktioniert.....
Die Lösung mit Me.Name = .... hat super funktioniert! ich danke euch MAL WIEDER!!!!
Prima! Danke für die Rückmeldung. owT
12.01.2018 12:05:10
UweD

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige