Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Platzhalter in VBA

Platzhalter in VBA
23.06.2016 17:25:45
Noureddine
Hallo,

Sub Test()
Sheets("Tab*").Cells(1, 1).Value = "Hallo"
End Sub
Hab ich den Platzhalter * falsch gesetzt? Oder gib es einen anderen in VBA?

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Platzhalter in VBA
23.06.2016 17:28:36
ChrisL
Hi
Bei den Tabellennamen lassen sich m.W. keine Platzhalter verwenden.
Sub t()
Dim WS As Worksheet
For Each WS In ThisWorkbook.Worksheets
If WS.Name Like "Tab*" Then WS.Range("A1") = "Hallo"
Next WS
End Sub

cu
Chris

AW: Platzhalter in VBA
23.06.2016 17:42:57
Noureddine
Ich hab folgenden Code, der mir ein Tabellenblatt erstellt. Wenn dieser Name vorhandne ist ertsellt er mir ein Tabellenblatt +1.

For Regulierer = 1 To ActiveWorkbook.Sheets.Count
If Sheets(Regulierer).Name Like txtMonatPE & "." & txtJahrPE & " Cockpit*" Then  _
SheetCounter = SheetCounter + 1
Next
If SheetCounter = 0 Then
Worksheets.Add after:=Sheets(Regulierer - 1)
ActiveSheet.Name = txtMonatPE & "." & txtJahrPE & " Cockpit"
Else
On Error GoTo TBerror
Select Case MsgBox("Es besteht bereits ein Datenblätter mit dem Namen." & vbLf & _
"Trotzdem neu anlegen als " & txtMonatPE & "." & txtJahrPE & " Cockpit " & SheetCounter  _
+ 1 _
& vbLf & vbLf & "Um ins MainCockpit zu gelangen, klicken Sie auf Nein!", vbQuestion +  _
vbYesNo)
Case vbYes
Worksheets.Add after:=Sheets(Regulierer - 1)
ActiveSheet.Name = txtMonatPE & "." & txtJahrPE & " Cockpit " & SheetCounter +  _
1
Case Else
Exit Sub
On Error GoTo 0
End Select
End If
Jetzt Frage ich mich, wie soll ich den nachfolgenden Code schreiben, wenn ich genau dieses Tabellenblatt ansprechen will?!!?

Anzeige
AW: Platzhalter in VBA
23.06.2016 18:23:51
ChrisL
Ein freundliches "Hallo", gern geschehen?!!? ;)
Das neu erstellte Blatt müsste gemäss Code immer das aktive Blatt sein. Dann musst du gar nicht referenzieren z.B.
Range("A1") = "x"
entspricht
ActiveSheet.Range("A1") = "x"
Natürlich wäre es schöner, wenn du mit Variablen arbeitest z.B.
Dim WS As Worksheet
Set WS = ActiveSheet
WS.Range("A1") = "x"
Wobei du eigentlich die Variablen gleich dem Worksheet.Add zuweisen kannst. Zwar auf englisch aber die Mustercodes zeigen schön die Möglichkeiten:
http://stackoverflow.com/questions/20697706/how-to-add-a-named-sheet-at-the-end-of-all-excel-sheets
cu
Chris

Anzeige
AW: Platzhalter in VBA
23.06.2016 20:19:43
Noureddine
Vielen Dank ChrisL.
Ich kann ja dann alles über die Variabelen steuern, die ich am Anfang alle festlege.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Platzhalter in VBA richtig nutzen


Schritt-für-Schritt-Anleitung

  1. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Neues Modul erstellen: Klicke mit der rechten Maustaste auf VBAProject (deine_datei.xlsx), wähle Einfügen und dann Modul.

  3. Code einfügen: Füge den folgenden Beispielcode ein, um den Platzhalter in VBA zu verwenden:

    Sub BeispielMitPlatzhalter()
       Dim WS As Worksheet
       For Each WS In ThisWorkbook.Worksheets
           If WS.Name Like "Tab*" Then
               WS.Range("A1").Value = "Hallo"
           End If
       Next WS
    End Sub
  4. Code ausführen: Drücke F5 oder klicke auf Ausführen, um den Code zu testen.


Häufige Fehler und Lösungen

  • Fehler: Platzhalter funktioniert nicht
    Stelle sicher, dass du die Syntax Like "Tab*" verwendest. In VBA kannst du Platzhalter wie * und ? verwenden, aber sie gelten nicht für Tabellennamen in der Sheets-Auflistung.

  • Fehler: Subscript out of range
    Dieser Fehler tritt auf, wenn du versuchst, auf ein Blatt zuzugreifen, das nicht existiert. Überprüfe die genauen Namen deiner Blätter.


Alternative Methoden

Eine alternative Methode, um Platzhalter in einem String zu verwenden, ist die Verwendung von Variablen. Hier ist ein Beispiel:

Sub BeispielMitVariablen()
    Dim BlattName As String
    BlattName = "Tab1"

    If BlattName Like "Tab*" Then
        MsgBox "Das Blatt entspricht dem Muster."
    End If
End Sub

Diese Methode kann nützlich sein, wenn du mit dynamischen Blattnamen arbeitest.


Praktische Beispiele

Hier sind einige praktische Beispiele für den Einsatz von Platzhaltern in VBA:

  1. Alle Blätter mit einem bestimmten Namen ansprechen:

    Sub AlleBlätterAnsprechen()
       Dim WS As Worksheet
       For Each WS In ThisWorkbook.Worksheets
           If WS.Name Like "Bericht*" Then
               WS.Range("A1").Value = "Daten vorhanden"
           End If
       Next WS
    End Sub
  2. Erstellen eines neuen Blattes mit einem einzigartigen Namen:

    Sub NeuesBlattErstellen()
       Dim BlattZähler As Integer
       BlattZähler = 1
       Dim NeuesBlattName As String
    
       Do While WorksheetExists("Neues Blatt " & BlattZähler)
           BlattZähler = BlattZähler + 1
       Loop
       NeuesBlattName = "Neues Blatt " & BlattZähler
       Worksheets.Add.Name = NeuesBlattName
    End Sub
    
    Function WorksheetExists(sheetName As String) As Boolean
       On Error Resume Next
       WorksheetExists = Not Worksheets(sheetName) Is Nothing
       On Error GoTo 0
    End Function

Tipps für Profis

  • Nutze Variablen: Arbeite mit Variablen für Blätter und Bereiche, um deinen Code flexibler und lesbarer zu gestalten.
  • Fehlerbehandlung: Implementiere Fehlerbehandlung mit On Error-Anweisungen, um unerwartete Probleme elegant zu lösen.
  • Dokumentation: Kommentiere deinen Code ausreichend, damit du und andere Benutzer ihn später besser verstehen können.

FAQ: Häufige Fragen

1. Frage
Wie kann ich Platzhalter in einem String innerhalb einer VBA-Funktion verwenden?
Antwort: Du kannst die Like-Anweisung verwenden, um Platzhalter in Strings zu verwenden, wie in den obigen Beispielen gezeigt.

2. Frage
Kann ich Platzhalter auch für andere Objekte in VBA verwenden?
Antwort: Ja, du kannst Platzhalter in VBA für viele Objekte verwenden, wie z.B. für Dateinamen und Bedingte Formatierungen in Excel.

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