Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
604to608
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
604to608
604to608
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Funktion für Abbrechen in InputBox

Funktion für Abbrechen in InputBox
27.04.2005 20:27:07
Werner
Hallo allerseits,
habe das Problem, dass ich bei Klick auf Abbrechen Laufzeitfehler bekomme.
Wie bekomme ich es hin, dass in dem Fall das bereits eingefügte Tabellenblatt wieder gelöscht wird.

Sub Neu()
Tabelle1.Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = InputBox("Legen Sie Namen fest")
'ActiveWindow.SelectedSheets.Delete
End Sub

mfg Werner

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

Betreff
Datum
Anwender
Anzeige
AW: Funktion für Abbrechen in InputBox
27.04.2005 20:34:13
Bert
Hi,
kopier das Blatt erst, wenn ein Name eingegeben wurde.
mfg Bert
AW: Funktion für Abbrechen in InputBox
27.04.2005 20:48:56
Werner
Hallo Bert,
wäre eine Möglichkeit, trifft aber nicht meinen Frage. Wenn ich schon im Begriff bin etwas zu lernen dann will ich es unbedingt wissen.
Werner
AW: Funktion für Abbrechen in InputBox
27.04.2005 20:55:47
Christoph
Hallo Werner
der ursprüngliche Code stammt von mit, soweit ich mich erinnere ...
dann probier's mal so:
Option Explicit
Sub Neu()
Dim strSh As String
Dim arrSh() As String
Dim i As Integer
Dim vgl As Variant
With ThisWorkbook
ReDim arrSh(.Sheets.Count - 1)
For i = 1 To .Sheets.Count
arrSh(i - 1) = .Sheets(i).Name
Next
strSh = InputBox("Legen Sie Namen fest")
If strSh = "" Then Exit Sub
vgl = Application.Match(strSh, arrSh, 0)
If Not IsError(vgl) Then
MsgBox "Name ist schon vergeben", 48
Exit Sub
End If
.Sheets("Tabelle1").Copy After:=.Sheets(.Sheets.Count)
.Sheets(.Sheets.Count).Name = strSh
End With
End Sub
Gruß
Christoph
Anzeige
AW: Funktion für Abbrechen in InputBox
27.04.2005 21:11:35
Werner
Hallo Christoph,
du hast recht mit dem Quellcode, wollte Dich nicht ignorieren.
Deine Lösung funktioniert hervorragend. Vielen Dank
Bert, sicher hast du recht mit der Recherche. Habe ich auch versucht aber kein passendes Beispiel gefunden, weil eben VBA - nein.

mfg Werner
AW: Funktion für Abbrechen in InputBox
27.04.2005 21:30:33
Christoph
Hi Werner,
du hast mich nicht ignoriert, ich bin ja erst später dazu gekommen.
Wobei Bert absolut recht hat, denn auch mein letzter Code war nur ein Schnellschuss aus der Hüfte...
Um die Stringlänge und sonstige Falscheingaben (Sonderzeichen, etc.) abzufangen, muss dann wirklich noch ein Error-Händler her.
ergo hier mein nächster Ansatz (@Bert: hab ich noch was vergessen?)

Option Explicit
Sub Neu()
Dim strSh As String
Dim arrSh() As String
Dim i As Integer
Dim vgl As Variant
With ThisWorkbook
ReDim arrSh(.Sheets.Count - 1)
For i = 1 To .Sheets.Count
arrSh(i - 1) = .Sheets(i).Name
Next
strSh = InputBox("Legen Sie Namen fest")
If strSh = "" Then Exit Sub
vgl = Application.Match(strSh, arrSh, 0)
If Not IsError(vgl) Then
MsgBox "Name ist schon vergeben", 48
Exit Sub
End If
On Error GoTo ErrorHandler
.Sheets("Tabelle1").Copy After:=.Sheets(.Sheets.Count)
.Sheets(.Sheets.Count).Name = strSh
End With
Exit Sub
ErrorHandler:
Application.DisplayAlerts = False
With ThisWorkbook
.Sheets(.Sheets.Count).Delete
MsgBox "ungültige Eingabe!", 16
End With
Application.DisplayAlerts = True
End Sub
Gruß
Christoph
Anzeige
AW: Funktion für Abbrechen in InputBox
27.04.2005 21:47:22
Bert
Hi,
eine Regel der Programmierung lautet vorhersagbar Fehler zu vermeiden, nicht zu umgehen.
Ich würde nach der Eingabe in die Inputbox auf Anzahl der Zeichen und deren Gültigkeit
prüfen. So ist gar kein Errorhandler nötig.
mfg Bert
@Bert
27.04.2005 21:57:07
Christoph
Hallo Bert,
da hast du natürlich recht - das hab ich am Beispiel der Tabellen-Namen ja bereits umgesetzt. Ehrlich gesagt war es mir aber zu mühselig, den String "strSh" auf Länge und gültige Characters zu überprüfen... Werner soll ja auch noch was zu basteln haben :)
Gruß
Christoph
AW: Funktion für Abbrechen in InputBox
27.04.2005 20:58:46
Bert
Hi,
wenn du lernen willst, versteif dich nicht auf eine Lösung. So wie du es machen willst,
kannst du einen Fehler nicht vermeiden, nur mit einer On Error-Anweisung übergehen.
Bedenke auch, dass ein Blattname max. 31 Zeichen lang sein darf und das es ungültige Zeichen für Blattnamen gibt. Außerdem verfügt das Forum über eine Recherche(Services).
mfg Bert
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige