Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Tabellennamen vergeben

Forumthread: Tabellennamen vergeben

Tabellennamen vergeben
10.09.2003 11:41:38
Silvia
Hallo Leute

Wie kann ich folgende Aufgabe am elegantesten lösen (oder besser gesagt: wie kann ich sie überhaupt lösen)

Ich möchte eine neue Tabelle einfügen und ihr den Namen aus einer Variablen (zB: Tabname = "abc") geben.
Wenn allerdings bereits eine Tabelle mit genau diesem Namen ("abc") existiert, soll die neue Tabelle "abc_1" heißen,
bzw. soll die neue Tabelle "abc_2" heissen, wenns auch die "abc1" schon gibt.... usw.

Mein Versuch hat das Ergebnis, dass ab dem 2.Durchlauf die neuen Tabellen "Tabelle1", "Tabelle2", .. usw. heißen. Nur die erste heißt korrekterweise "abc", weil man mehrere Tab nicht gleich benennen darf.

Dim tabzahl, Tabname
Tabname = "abc"
tabzahl = Worksheets.Count
Worksheets.Add.Move after:=Worksheets(tabzahl)
Worksheets(tabzahl + 1).Select
ActiveSheet.name = Tabname

lg, Silvia
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellennamen vergeben
10.09.2003 11:59:37
Bernd Held
Hi Silvia,

Du müsstest eine Funktion schrieben, die das Vorhandensein einer Tabelle prüft. sowas in der Art könnte weiterhelfen.


Function WorksheetExists(WSName As String) As Boolean
On Error Resume Next
WorksheetExists = Len(Worksheets(WSName).Name) > 0
End Function



If WorksheetExists("Tabelle1") = True Then
'anderen Namen vergeben
Else
'den Namen verwenden
End If

Viele Grüße
Bernd
MVP für Microsoft Excel
Aktuelle VBA-Schulungen und VBA-Bücher unter: http://held-office.de

Anzeige
AW: Tabellennamen vergeben
10.09.2003 12:02:53
BerndE
Hi Silvia,

bei mir funzt folgender Code:

Dim tabzahl, Tabname, DoppelTab
Tabname = "abc"
tabzahl = Worksheets.Count
Worksheets.Add.Move after:=Worksheets(tabzahl)
Worksheets(tabzahl + 1).Select

DoppelTab = 1

On Error GoTo Fehler:
ActiveSheet.Name = Tabname

Exit Sub

Fehler:
Tabname = "abc_" & DoppelTab
DoppelTab = DoppelTab + 1
Resume

Gruß
Bernd

www.bernds.page.de.vu
Anzeige
AW: Tabellennamen vergeben
10.09.2003 12:04:19
xXx
Hallo,

so sollte es gehen:

Sub test()
Dim intCounter As Integer, sh As Worksheet
intCounter = 0
For Each sh In ActiveWorkbook.Sheets
If sh.Name Like "abc*" Then intCounter = intCounter + 1
Next sh
Worksheets.Add after:=Sheets(Sheets.Count)
If intCounter > 0 Then
ActiveSheet.Name = "abc" & intCounter
Else
ActiveSheet.Name = "abc"
End If
End Sub


Gruß aus'm Pott
Udo
Anzeige
AW: Tabellennamen vergeben
10.09.2003 12:04:52
Martin Beck
Hallo Silvia,

vielleicht nicht das eleganteste, aber versuche mal


Sub Tabellennamen()
Dim tabzahl As Integer
Dim Tabname As String
Dim letzter
Tabname = "abc"
tabzahl = Worksheets.Count
Worksheets.Add.Move after:=Worksheets(tabzahl)
letzter = -1
For Each ws In Worksheets
If ws.Name = Tabname Then
letzter = 0
End If
Next
For Each ws In Worksheets
If Left(ws.Name, Len(Tabname)) = Tabname And ws.Name <> Tabname Then
letzter = Application.WorksheetFunction.Max(letzter, Right(ws.Name, 1))
End If
Next
Select Case letzter
Case Is = -1
Worksheets(tabzahl + 1).Name = Tabname
Case Is = 0
Worksheets(tabzahl + 1).Name = Tabname & "_1"
Case Is > 0
Worksheets(tabzahl + 1).Name = Tabname & "_" & letzter + 1
End Select
End Sub


Gruß
Martin Beck
Anzeige
DANKE
10.09.2003 12:31:31
Silvia
Herzlichen Dank an Bernd, Bernd, Udo, Martin für die raschen Antworten !!!!!

Ich hab mir alle Codes angeschaut und es schlussendlich so gelöst:
(Abweichend von meinen ursprünglichen Angaben heißt die erste Tab nun "..._1", die zweite "..._2", usw.)

Dim i As Integer
Dim ws As Worksheet
i = 1
For Each ws In ActiveWorkbook.Sheets
If ws.name Like compidname & "*" Then i = i + 1
Next ws
ActiveSheet.name = compidname & "_" & i

DANKE, Silvia
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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