Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
956to960
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
956to960
956to960
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tabellenblatt neu erstellen

Tabellenblatt neu erstellen
07.03.2008 08:41:00
Schallbach
Guten Morgen!
Habe wieder mal ein Problem!
Habe folgendes Macro zum erzeugen eines neuen Tabellenblattes:
Worksheets.Add After:=Worksheets(Worksheets.Count)
Dim vntInput As Variant
Do
Do
vntInput = InputBox("Bitte Tabellenblatt Namen angeben! Format: MM JJJJ z. B. 06 2008")
If vntInput Like "## ####" Then Exit Do
If vntInput "" Then MsgBox "Eingabe Format nicht korrekt oder nicht eingegeben!", vbCritical, "Fehler"
Loop
Loop Until MsgBox("Ist die Eingabe korrekt? : " & vntInput, vbYesNo + vbQuestion) = vbYes
ActiveSheet.Name = (vntInput)
Ich möchte das ganze erweitern.
Das Macro soll auch kontrollieren ob der neu vergebene Name schon in der Arbeitsmappe besteht und das melden bzw. einen Fehler melden und wieder auf die Eingabe gehen.
Kann mir jemand von Euch weiterhelfen!
Mit besten Dank und Gruss
Schallbach

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt neu erstellen
07.03.2008 09:06:00
Beverly
Hi,
versuche es so

Sub tabelle_erstellen()
Dim vntInput As Variant
Dim wsTabelle As Worksheet
Start:
Do
Do
vntInput = InputBox("Bitte Tabellenblatt Namen angeben! Format: MM JJJJ z. B. 06 2008")
If vntInput Like "## ####" Then Exit Do
If vntInput  "" Then MsgBox "Eingabe Format nicht korrekt oder nicht eingegeben!",  _
vbCritical, "Fehler"
Loop
Loop Until MsgBox("Ist die Eingabe korrekt? : " & vntInput, vbYesNo + vbQuestion) = vbYes
For Each wsTabelle In ThisWorkbook.Sheets
If wsTabelle.Name = vntInput Then
MsgBox "Es gibt bereits eine Tabelle " & vntInput
GoTo Start
End If
Next wsTabelle
Worksheets.Add After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = vntInput
End Sub




Anzeige
AW: Tabellenblatt neu erstellen
07.03.2008 10:09:00
Erich
Hallo ?,
soll der Benutzer die Routine keinesfalls (z. B. per "Abbrechen") verlassen können?
So erzwingst du, dass ein Blatt angelegt wird.
Hier noch eine Version:

Option Explicit
Sub test()
Dim wks As Worksheet, bolOK As Boolean, strInput As String 'Variant
Do
Do
bolOK = True
strInput = InputBox("Bitte Tabellenblatt-Namen angeben!" _
& vbLf & vbLf & "Format: MM JJJJ z. B. 06 2008")
If strInput Like "## ####" Then
For Each wks In ActiveWorkbook.Sheets
If wks.Name = strInput Then
bolOK = False
MsgBox "Blatt  " & strInput & "  ist schon vorhanden!"
Exit For
End If
Next wks
Else
bolOK = False
MsgBox "Eingabeformat nicht korrekt!", vbCritical, "Fehler"
End If
Loop Until bolOK
Loop Until MsgBox("Ist die Eingabe korrekt? : " & strInput, _
vbYesNo + vbQuestion) = vbYes
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = strInput
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Dankeschön!!!
07.03.2008 13:19:41
Schallbach
Hallo!
Hab beide Vorschläge probiert! Funktioniert super!!
Herzlichen Dank
Schallbach

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige