Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1588to1592
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
Inhaltsverzeichnis

Tabellenblattnamen ändern im Makro

Tabellenblattnamen ändern im Makro
06.11.2017 14:49:51
Nicole
Hallo zusammen,
ich bräuchte eure Hilfe. Ich möchte gerne per Makro ein neues Tabellenblatt einfügen (kopiert aus einem anderen) und das dieser umbenannt wird in den Text den ich vorher kopiert habe.
Leider weis ich nicht wie ich das aufgenommene Makro ändern muss damit er mir statts genau den selben Text immer den vorher kopierten Text nimmt.
Hier das Makro:
Sub Rechnung_erstellen()
' Rechnung_erstellen Makro
Sheets("Rechnungsvorlage").Select
Sheets("Rechnungsvorlage").Copy Before:=Sheets(1)
Sheets("Deckblatt").Select
Selection.Copy
Sheets("Rechnungsvorlage (2)").Select
Sheets("Rechnungsvorlage (2)").Name = "SI-17-01-0003-0063"
Sheets("Deckblatt").Select
End Sub

Bei Selektion. Copy kopiert er mir immer den Text aus dem vor Makrostart selektierten Zelle. Aber einfügen tut er mir immer nur den Text "SI-17-01-0003-0063"
Vielen Dank im Voraus.
Gruß Nicole

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Nachfrage
06.11.2017 14:54:37
Werner
Hallo Nicole,
und wo steht der Name (Blatt, Zelle) den du für das neue Blatt einsetzen willst?
Gruß Werner
AW: Nachfrage
06.11.2017 14:57:24
Nicole
Hallo im Blatt "Deckblatt" Zelle ändert sich immer. Deswegen vorher die Selektion der benötigten Zelle.
AW: Nachfrage
06.11.2017 15:28:24
Peter
Hallo Nicole,
mit folgenden Code wird ein neues Tabellenblatt in die Datei eingefügt und mit dem Inhalt der Activen Zelle benannt.
Dim strNa As String
strNa = ActiveCell.Value
ThisWorkbook.Worksheets.Add.name = ActiveCell.Value
Sheets(strNa).Move After:=Sheets(Sheets.Count)
Vieleicht kommst Du damit weiter.
Gruß
Peter (hpo)
AW: Nachfrage
06.11.2017 15:36:16
Nicole
Hallo Peter. Danke das funktioniert. Wie bekomme ich noch in das Makro, dass er mir den kompletten Inhalt des Tabellenblatts "Rechnungsvorlage" in das neu erstellte TAbellenblatt bringt?
Oder kann man das Makro so umändern, dass er nicht ein neues Tabellenblatt öffnet sondern die "Rechnungsvorlage" kopiert und umbenennt.
Vielen Dank für deine Hilfe.
Anzeige
AW: Nachfrage
06.11.2017 15:39:14
Werner
Hallo Nicole,
genau das macht mein Code.
Gruß Werner
AW: Nachfrage
06.11.2017 15:40:41
Nicole
Hallo Peter,
leider ist beim ausführen das neue Tabellenblatt leer.
Woran könnte das liegen?
AW: Nachfrage
06.11.2017 15:48:10
Werner
Hallo Nicole,
ich bin nicht Peter. Du solltest auch alle Beiträge lesen.
Gruß Werner
AW: Nachfrage
06.11.2017 16:04:00
Nicole
Hallo Werner,
entschuldige, dadurch dass es als Antwort auf meine Frage zu Peter kam, habe ich nicht mehr auf den Namen geachtet.
Deinen Beitrag habe ich gesehen. Danke. Ich wollte erstmal das Makro vom Peter testen, da diese nicht zu kompliziert für mich aussah.
AW: Nachfrage
06.11.2017 15:49:30
Peter
Hallo Nicole,
vieleicht kommst Du mit folgenden Code zurecht.
Dim strNa As String, strNaAlt As String
strNaAlt = ActiveWorkbook.ActiveSheet.name
strNa = ActiveCell.Value
ThisWorkbook.Worksheets.Add.name = ActiveCell.Value
Sheets(strNa).Move After:=Sheets(Sheets.Count)
Sheets(strNaAlt).UsedRange.Copy Destination:=Worksheets(strNa).Range("A1")
Gruß
Peter (hpo)
Anzeige
AW: Nachfrage
06.11.2017 16:02:04
Nicole
Hallo Peter,
danke es scheint zu funktionieren.
AW: Nachfrage
06.11.2017 15:30:52
Werner
Hallo Nicole,
oder so, mit Fehlerbehandlung bei ungültigen Zeichen im Blattnamen bzw. wenn ein Blatt mit diesem Namen schon existiert.
Option Explicit
Sub Rechnung_erstellen()
Dim strNeu As String
strNeu = Selection.Value
Application.ScreenUpdating = False
Sheets("Rechnungsvorlage").Copy Before:=Sheets(1)
On Error GoTo Fehler
Sheets("Rechnungsvorlage (2)").Name = strNeu
Sheets("Deckblatt").Select
Application.ScreenUpdating = True
Exit Sub
Fehler:
Application.DisplayAlerts = False
Sheets("Rechnungsvorlage (2)").Delete
Application.DisplayAlerts = True
On Error GoTo 0
MsgBox "Fehler" & vbLf & vbLf & "-Blatt mit diesem Namen existiert schon!" _
& vbLf & "-Blattname enthält ungültige Zeichen!" _
& vbLf & vbLf & "Bitte neuen Namen wählen!"
Sheets("Deckblatt").Select
Application.ScreenUpdating = True
End Sub
Gruß Werner
Anzeige

25 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige