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

Worksheet.Add

Worksheet.Add
02.01.2014 15:42:22
Olaf
Hallo Zusammen,
ich steh gerade auf dem Schlauch :-(
Ich möchte, dass er ein Tabellenblatt "Olaf" nur anlegt, wenn es das noch nicht gibt.
Mit diesem Befehl arbeite ich:
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Olaf"
Gibt es eine einfache Lösung?
vielen Dank im Voraus und VG
Olaf

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

Betreff
Datum
Anwender
Anzeige
AW: Worksheet.Add
02.01.2014 15:53:26
Olaf
Problem selbst gelöst bekommen *schwitz*
Falls noch einer das gleiche Problem haben sollte:
Sub Arbeitsmappe()
Dim blatt As Boolean
tname = "Olaf"
blatt = False
Dim i As Integer
For i = 1 To Worksheets.Count
If Worksheets(i).Name = tname Then blatt = True
Next
If blatt = False Then Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = tname
End Sub

AW: Worksheet.Add
02.01.2014 16:01:33
Matze
Hallo Olaf,
hast ja doch was gefunden supie, ich auch,...hier ,mit Inputbox:
Sub Blatt_erstellen_aus_Inputbox()
Dim Sh As Worksheet
Dim sName As String
sName = InputBox("Bitte Tabellenname auswählen!")
For Each Sh In Worksheets
If InStr(Sh.Name, sName) > 0 Then
Sh.Select 'Wenn vorhanden ausgewählt
Exit Sub
End If
Next Sh
Sheets.Add.Name = sName
End Sub
Gruß Matze

Anzeige
benutze UCase, das ist sicherer ...
02.01.2014 17:28:36
Matthias
Hallo Matze
Dein Bsp läuft auf einen Fehler, wenn bei gleichen Blattnamen aber unterschiedl. Schreibweisen
versucht wird ein neues Blatt zu erstellen.

    Erstell mal mit Deinem Bsp
  • erst ein Blatt: Olaf

  • dann ein Blatt: OLAF

  • Nun sieh was da passiert!


    Hier eine mögl. Lösung mit UCase
    &nbsp&nbsp&nbspohne Prüfung der max.erlaubten Zeichenlänge
    &nbsp&nbsp&nbspohne Prüfung auf ungültige Zeichen im RegisterNamen

Option Explicit
Sub Blatt_erstellen_aus_Inputbox()
Dim Sh As Worksheet
Dim sName As String
sName = InputBox("Bitte Tabellenname auswählen!")
If StrPtr(sName) = 0 Then Exit Sub
For Each Sh In ThisWorkbook.Worksheets
If UCase(Sh.Name) = UCase(sName) Then
MsgBox Sh.Name & ", gibt es schon"
Exit Sub
End If
Next Sh
Sheets.Add.Name = sName
End Sub


Also einfach mal im Archiv nach max. Zeichenlänge für Registerblattnamen
und ungültige Zeichen im Registerblattnamen suchen und unbedingt mit einpflegen!
Gruß Matthias

Anzeige
Danke für diese "nützliche Info" owT
02.01.2014 17:51:46
Matze

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige