Anzeige
Archiv - Navigation
1388to1392
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

Wscript.shell popup

Wscript.shell popup
31.10.2014 19:34:18
Otmar
Hallo zusammen
Mit dem nachstehenden Makro soll eine neue Tabelle eingefügt werden. Es wird geprüft, ob der Tab-Name schon vorhanden ist. Wenn ja, erscheint eine Meldung.
An dieser Stelle arbeitet ein Objekt-Shell: Die Meldung soll nach wenigen Sekunden wieder ausgeblendet werden und das Programm startet neu.
Problem: Beim ersten Aufruf passiert genau, was ich oben beschrieben habe. Beim folgenden Durchlauf bleibt die Fehlermeldung stehen und ich muss wieder mit OK den Prozess fortsetzen.
Vielen Dank für einen guten Hinweis.
Freundliche Grüsse
Otmar
Function BlattDa(strName As String) As Boolean
Dim Blatt As Worksheet
For Each Blatt In Worksheets
If Blatt.Name = strName Then
BlattDa = True
Exit Function
End If
Next Blatt
End Function

Sub TBEinfügen()
Dim TBName$
Dim Objshell As Object
Dim FText As Integer
Const Dauer As Long = 2
Set Objshell = CreateObject("Wscript.Shell")
Start:
TBName = InputBox("Welchen Namen soll das Tabellenblatt erhalten?" & Chr(13) & Chr(13) & _
"Bitte den Blattnamen eingeben:")
If TBName = "" Then Exit Sub
If BlattDa(TBName) = False Then
Worksheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = TBName
Else 
FText = Objshell.Popup("Der gewählte Name ist bereits in der Mappe vorhanden!", Dauer, _
"Fehlermeldung", vbInformation)
GoTo Start
End If
Exit Sub
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Wscript.shell popup
31.10.2014 20:00:04
Mullit
Hallo,
kann ich nicht bestätigen, die Box wird bei mir jedesmal automatisch geschlossen; Du könntest Deinen Code vielleicht noch etwas straffen:
Option Explicit
Function BlattDa(strName As String) As Boolean
Dim lngIndex As Long
On Error Resume Next
lngIndex = Worksheets(strName).Index
If Err.Number = 0 Then BlattDa = True
End Function
Sub TBEinfügen()
Dim TBName$
Dim Objshell As Object
Const Dauer As Long = 2
Set Objshell = CreateObject("Wscript.Shell")
Start:
TBName = InputBox("Welchen Namen soll das Tabellenblatt erhalten?" & Chr(13) & Chr(13) & _
"Bitte den Blattnamen eingeben:")
If TBName = "" Then Exit Sub
If Not BlattDa(TBName) Then
Worksheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = TBName
Else
Objshell.Popup "Der gewählte Name ist bereits in der Mappe vorhanden!", Dauer, _
"Fehlermeldung", vbInformation
GoTo Start
End If
End Sub

Gruß,

Anzeige
AW: Wscript.shell popup
31.10.2014 20:15:12
Luschi
Hallo Otmar,
bei mir klappt es dauerhaft, wenn ich in der Zeile nach Start: folgenden Befehl einfügen
DoEvents
Gruß von Luschi
aus klein-Paris

AW: Wscript.shell popup
01.11.2014 07:33:04
Otmar
Hallo Luschi
Danke für den Hinweis. Er löst das Problem.
Gruss von Otmar
aus der Schweiz

Anzeige
AW: Wscript.shell popup
31.10.2014 20:24:51
Mullit
Hallo,
ah ok, gut zu wissen, hatte bisher nur unter Vista + Xl2007 getestet, da funktioniert bei mir der Ausgangscode...
Gruß,

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige