Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Tabellenname einer variablen zuweisen

Tabellenname einer variablen zuweisen
06.08.2005 16:20:58
Micha
wie bekommt die Stringvariable "n" den Namen des neuen Tabellblattes?

Sub neues_Blatt()
Dim s As Integer, n As String
Sheets("Muster").Select
Worksheets("Muster").Copy After:=Worksheets("Muster")
ActiveSheet.Name = "Copy"
s = Worksheets.Count
n = ?  (Name.ActiveSheet) 'geht nicht :-(
Debug.Print s;n
End Sub

Danke und Gruß micha
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
activesheet.name .
06.08.2005 16:23:09
ransi
hallo micha
n=activesheet.name sollte gehn.
ransi
AW: Tabellenname einer variablen zuweisen
06.08.2005 16:24:49
Leo
Hi,
genau umgekehrt: n = activesheet.Name
Wozu es gut ist, weiß ich aber nicht.
mfg Leo
AW: Tabellenname einer variablen zuweisen
06.08.2005 16:48:09
Micha
Ja, zugegeben, wenn ich ein neues Blatt gerade benannt habe ist es unsinnig den Namen abzufragen. Aber aus eurer Lösung entnehme ich, das n = Sheet(s) auch gehen müßte....oder?
Gruß Micha
Anzeige
AW: Tabellenname einer variablen zuweisen
06.08.2005 16:52:09
Micha
Mißt, geht nicht...
Aber n = Sheets(1).Name geht.. :-))
AW: Tabellenname einer variablen zuweisen
06.08.2005 16:52:11
Leo
Hi,
aber nur, wenn zuvor das Blatt "Muster" das letzte Worksheet war.
mfg Leo
AW: Tabellenname einer variablen zuweisen
06.08.2005 17:15:19
Micha
Was ist aber nur, wenn....? Versteh ich nicht?
Aber ich glaube, ich hab jetzt alles für die Sheets, wie man sie zäht, den Namen abfragt, sie Kopiert und verschiebt!
Danke nochmal, Micha
(das nächte Problem kommt bestimmt)
Anzeige
AW: Tabellenname einer variablen zuweisen
06.08.2005 17:30:14
Matthias
Hallo Micha,
Du kannst auch direkt eine Referenz auf ein Blatt setzen:

Sub SheetTest()
Dim Sh As Worksheet
Sheets.Add
Set Sh = ActiveSheet
With Sh
.Range("A1") = "Micha"
MsgBox .Name & " hat in A1: " & .Range("A1")
End With
End Sub

AW: Tabellenname einer variablen zuweisen
06.08.2005 18:05:46
Micha
Gut, danke!!
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Tabellenname einer Variablen zuweisen in Excel VBA


Schritt-für-Schritt-Anleitung

Um einer String-Variable den Namen eines neuen Tabellenblattes in Excel VBA zuzuweisen, kannst Du die folgenden Schritte befolgen:

  1. Öffne den VBA-Editor in Excel (ALT + F11).
  2. Erstelle ein neues Modul (Rechtsklick auf „VBAProject“, dann „Einfügen“ > „Modul“).
  3. Füge den folgenden Code ein:
Sub neues_Blatt()
    Dim s As Integer, n As String
    Sheets("Muster").Select
    Worksheets("Muster").Copy After:=Worksheets("Muster")
    ActiveSheet.Name = "Copy"
    s = Worksheets.Count
    n = ActiveSheet.Name ' Hier wird der Name der aktiven Tabelle zugewiesen
    Debug.Print s, n
End Sub
  1. Ändere den Namen des Blattes „Muster“ nach Bedarf.
  2. Führe das Makro aus, um das neue Blatt zu erstellen und den Namen in der Variablen n zu speichern.

Häufige Fehler und Lösungen

  • Fehler: n = ActiveSheet.Name funktioniert nicht.

    • Lösung: Stelle sicher, dass das Blatt tatsächlich aktiv ist und der Code nach dem Kopieren des Blattes ausgeführt wird.
  • Fehler: n = Sheets(1).Name gibt den Namen des ersten Blattes zurück.

    • Lösung: Wenn Du den Namen des zuletzt erstellten Blattes haben möchtest, verwende n = ActiveSheet.Name direkt nach dem Kopieren.

Alternative Methoden

Du kannst auch direkt eine Referenz auf das neue Blatt setzen, anstatt den Namen über die aktive Tabelle abzurufen. Hier ist ein Beispiel:

Sub SheetTest()
    Dim Sh As Worksheet
    Sheets.Add
    Set Sh = ActiveSheet
    With Sh
        .Range("A1") = "Micha"
        MsgBox .Name & " hat in A1: " & .Range("A1")
    End With
End Sub

Diese Methode ermöglicht es Dir, mit dem neuen Blatt zu arbeiten, ohne den Namen manuell zu speichern.


Praktische Beispiele

Hier ist ein einfaches Beispiel, um den Namen eines neuen Blattes in einer Variablen zu speichern:

Sub Beispiel_Namen_Speichern()
    Dim neuesBlatt As Worksheet
    Set neuesBlatt = Sheets.Add
    neuesBlatt.Name = "Neues Blatt"

    Dim blattName As String
    blattName = neuesBlatt.Name
    MsgBox "Das neue Blatt heißt: " & blattName
End Sub

In diesem Beispiel wird ein neues Blatt erstellt und der Name in der Variablen blattName gespeichert.


Tipps für Profis

  • Nutze die With-Anweisung, um den Code zu optimieren und die Lesbarkeit zu erhöhen.
  • Verwende On Error Resume Next, um Fehler beim Umbenennen von Blättern zu vermeiden, insbesondere wenn ein Blatt mit dem gleichen Namen bereits existiert.
  • Teste Deinen Code regelmäßig, um sicherzustellen, dass alle Variablen korrekt zugewiesen werden.

FAQ: Häufige Fragen

1. Wie kann ich den Namen eines Blattes ändern?
Du kannst den Namen eines Blattes mit ActiveSheet.Name = "Neuer Name" ändern.

2. Was passiert, wenn ich einen Namen für ein Blatt verwende, der bereits existiert?
Excel wird einen Fehler ausgeben. Du kannst dies vermeiden, indem Du überprüfst, ob der Name bereits verwendet wird, bevor Du ihn zuweist.

3. Kann ich den Namen auch über eine Schleife abfragen?
Ja, Du kannst durch alle Blätter iterieren und deren Namen mit einer Schleife abfragen.

4. Welche Version von Excel benötige ich für diese Funktionen?
Der Code funktioniert in Excel 2010 und späteren Versionen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige