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

Exit Sub Problem

Exit Sub Problem
10.03.2006 16:00:40
JMR
Hallo zusammen!
Habe nachfolgendes Makro gebastelt. Wie muss meine If-Abfrage lauten, damit Exit

Sub ausgeloest wird? Habe ich meine Variablen falsch deklariert?
Es gibt da noch ein Problem. Sobald der Anwender das Datum (Data) nicht wie angegeben eingibt (sondern mit / etc.), ist die Benennung des Arbeitsblattes nicht mehr mgl. und es muss debuggt werden...schlecht.
Wer weiss hier Rat?
Danke fuer die Bemuehungen!
Gruss,
Jan
Makro :

Sub inputboxtest()
Dim CasaEstero As String
Dim Data As String
CasaEstero = Application.InputBox("Digitare Nome", "Scelta Casa Estero")
If CasaEstero = "" Then Exit Sub
Data = Application.InputBox("Digitare Data di oggi (in senso GG_MM_AAAA)", "Data : ")
If Data = "" Then Exit Sub
MsgBox "Casa scelta : " & CasaEstero
Application.SheetsInNewWorkbook = 1
Workbooks.Add
ActiveSheet.Name = CasaEstero & Data
End Sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Exit Sub Problem
10.03.2006 16:27:30
UweD
Hallo
mögliche Lösung....

Sub inputboxtest()
Dim CasaEstero As String
Dim Data As String
CasaEstero = Application.InputBox("Digitare Nome", "Scelta Casa Estero")
If CasaEstero = "" Then Exit Sub
Data = Application.InputBox("Digitare Data di oggi (in senso GG_MM_AAAA)", "Data : ")
Data = Application.Substitute(Data, "/", "_")
If Data = "" Then Exit Sub
MsgBox "Casa scelta : " & CasaEstero
Application.SheetsInNewWorkbook = 1
Workbooks.Add
ActiveSheet.Name = CasaEstero & Data
End Sub

Gruß UweD
(Rückmeldung wäre schön)
AW: Exit Sub Problem
10.03.2006 16:37:24
JMR
Hallo Uwe!
Das funktioniert prima! Danke! Kann ich die Zeile einfacher erweitern oder muss ich folgendes fuer die anderen Sonderzeichen schreiben:
Data = Application.Substitute(Data, "/", "_")
Data = Application.Substitute(Data, "\", "_")
Data = Application.Substitute(Data, "?", "_")
Data = Application.Substitute(Data, "*", "_")
Data = Application.Substitute(Data, "[", "_")
Data = Application.Substitute(Data, "]", "_")
Kannst du mir auch bei dem anderen Problem des exit sub helfen? Das Sub wird nicht abgebrochen, wenn der Anwender Abbrechen in der Inputbox anklickt.
Gruss,
Jan
Anzeige
AW: Exit Sub Problem
10.03.2006 16:49:54
UweD
Hallo
du mußt einzelne Substitutezeiten verwenden, so wie du es bereits gemacht hast.
Problem2)
durch den Vergleich mit False wird der Exit S_ub ausgelöst.
Dazu muß aber die Variable als Variant deklariert werden.
so gehts

Sub inputboxtest()
Dim CasaEstero As Variant
Dim Data As Variant
CasaEstero = Application.InputBox("Digitare Nome", "Scelta Casa Estero")
If CasaEstero = "" Or CasaEstero = False Then Exit Sub
Data = Application.InputBox("Digitare Data di oggi (in senso GG_MM_AAAA)", "Data : ")
Data = Application.Substitute(Data, "/", "_")
Data = Application.Substitute(Data, "\", "_")
Data = Application.Substitute(Data, "?", "_")
Data = Application.Substitute(Data, "*", "_")
Data = Application.Substitute(Data, "[", "_")
Data = Application.Substitute(Data, "]", "_")
If Data = "" Or Data = False Then Exit Sub
MsgBox "Casa scelta : " & CasaEstero
Application.SheetsInNewWorkbook = 1
Workbooks.Add
ActiveSheet.Name = CasaEstero & Data
End Sub

Gruß UweD
(Rückmeldung wäre schön)
Anzeige
AW: Exit Sub Problem
10.03.2006 17:01:24
JMR
Hallo,
funzt reibungslos... wie du siehst bin ich am lernen (VBA nur mit Recorder), deshalb interessiert mich, warum das hier nur mit Variant hinhaut?
Guck mal, das hab ich mal zu uebungszwecken gebaut und da lief das

Sub Exit, trotz Currency. Komisch oder?  :

Sub Mwst()
Dim Betrag As Currency
Dim Gesamt As Currency
Const Mwst = 1.16
Betrag = Application.InputBox("Mwst errechnen", "Betrag eingeben ")
If Betrag = 0 Then Exit Sub
Gesamt = Betrag * Mwst
MsgBox "Mehrwertsteuer ist : " & Gesamt - Betrag
End Sub

Gruss,
Jan
Anzeige
AW: Exit Sub Problem
10.03.2006 17:09:10
Peter
Hallo JMR,
das nachfolgende Makro sollte deine Probleme lösen.
In den Array kannst du beliebig viele Sonderzeichen, die du ausschließen möchtest, einfügen.
Das Abbrechen in der InputBox drücken ist ebenfalls gelöst.

Sub InputBoxTest()
Dim CasaEstero As String
Dim Data       As String
Dim aVar()     As Variant
Dim iIndx      As Integer
aVar = Array("/", "\", "?", "*", "[", "]")
CasaEstero = Application.InputBox("Digitare Nome", "Scelta Casa Estero")
If CasaEstero = "" Then Exit Sub
Data = Application.InputBox("Digitare Data di oggi (in senso GG_MM_AAAA)", "Data : ")
If Data = "" Then Exit Sub
If StrPtr(Data) = 0 Then Exit Sub
For iIndx = 0 To UBound(aVar)
Data = Application.Substitute(Data, aVar(iIndx), "_")
Next iIndx
MsgBox "Casa scelta : " & CasaEstero & " il dato est " & Data
Application.SheetsInNewWorkbook = 1
Workbooks.Add
ActiveSheet.Name = CasaEstero & Data
End 

Sub
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.

Anzeige
AW: Exit Sub Problem
10.03.2006 17:23:21
JMR
Hallo Peter,
laeuft 1A! Danke! Auch an Dich noma die Frage, da ich ein neuer, neugieriger VBA-Anwender bin... Warum laeuft das Exit-Sub nicht mit String? Mit Currency hab ich mal ein Bsp. gebaut, da liefs auch bei Abbruch der InputBox (False).
Gruesse,
Jan
AW: Exit Sub Problem
10.03.2006 17:43:01
JMR
Achja, hab ich vergessen...
"il dato" heisst im Italienischen "die Daten", "la data" "das Datum"...:-)
"est" ist lateinisch, italienisch " è "...
Auf jeden Fall nochmal vielen Dank fuer Deine sehr elegante Loesung, wobei ich da einige Nachfragen haette, was UBound so macht z.B. ... Mit der genauen Funktionsweise beschaeftige ich mich aber ein anderes mal...
Beste Gruesse aus Mailand und ein schoenes WE,
Jan
Anzeige
AW: Exit Sub Problem
10.03.2006 17:44:42
Leo
Hi,
lass mal diesen kleinen Code laufen, dann wirst du verstehen.

Sub til()
MsgBox False = 0
End Sub

mfg Leo
Subba! Danke, Erledigt.
10.03.2006 17:24:58
JMR
.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige