Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
304to308
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
304to308
304to308
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Stop den Sub

Stop den Sub
08.09.2003 02:51:50
dehe
Hallo,

also eine Sache noch... :-

und zwar hab ich in einem VB-Script folgendes stehn:
If Worksheets("Name").Range("F6") = "" Then MsgBox "Name fehlt!" & _x_x_x_
Sheets("Druckausgabe").PrintOut Copies:=1

wobei "_x_x_x_" folgendes aussagen sollt:
Der Script sollte gestoppt werden, aber nur wenn in Name!F6 nichts steht! Wenn da was steht, dann sollte der Script weitergeführt werden...

jemand eine Idee?

Gruß aus Hessen
dehe

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Stop den Sub
08.09.2003 03:07:28
Björn B.
Hallo dehe zum Zweiten,

versuchs doch mal mit

If Worksheets("Name").Range("F6") = "" Then
MsgBox "Name fehlt!"
Exit sub
end if
Sheets("Druckausgabe").PrintOut Copies:=1

Das Drucken wird nicht mehr ausgeführt, wenn in F6 nichts drinsteht.

Gruß
Björn B.
AW: Stop den Sub
08.09.2003 10:05:19
Remo
Hi Helene!

Ist dein Problem sow wie Björn empfholen hat gelöst oder soll die Subroutine nach der Fehlermeldung weitergeführt werden?

Gruss Remo
AW: Stop den Sub
08.09.2003 10:06:36
Remo
Sorry Dehe! Das mit dem Namen war ein Versehen...
AW: Stop den Sub
08.09.2003 12:23:07
dehe
Tach!

Also mein Script sieht so aus:


Private Sub Drucken_Click()
If Worksheets("Rechnung").Range("F6") = "" Then MsgBox "Name fehlt!"
'Wobei ich hier mehr Ifs Reinschreiben werde
Exit Sub
End If
'Fehler: End If ohne If-Block...
'Rechnungsnummer
Worksheets("Memo").Range("H2").FormulaR1C1 = Worksheets("Memo").Range("H2").FormulaR1C1 + 1
'Drucken
'Sheets("Druckausgabe").PrintOut Copies:=1
'Zeitstempel
Sheets("Memo").Cells(6, 7) = Format(Now(), "DD.MM.YYYY")
'Autor wird gewählt
ActiveWorkbook.Author = Worksheets("Memo").Range("I2")
'Speichern
Worksheets.Copy
DName = Worksheets("Memo").[H2] & " - " & Format(Worksheets("Memo").[G6], "DD.MM.YYYY") & " - " & Worksheets("Memo").[K10] & ".xls"
ActiveWorkbook.SaveAs "\\Server\Verwaltung\Rechnungen\" & DName
ActiveSheet.Shapes("Drop Down 1").Select 'Abteilung
With Selection
.ListFillRange = "Memo!$C$2:Memo!$C$8"
.LinkedCell = "Memo!$C$1"
.DropDownLines = 8
.Display3DShading = True
End With
ActiveSheet.Shapes("Drop Down 2").Select 'Bearbeiter
With Selection
.ListFillRange = "Memo!$B$2:Memo!$B$7"
.LinkedCell = "Memo!$B$1"
.DropDownLines = 8
.Display3DShading = True
End With
ActiveSheet.Shapes("Drop Down 5").Select 'Datum
With Selection
.ListFillRange = "Memo!$E$2:Memo!$E$6"
.LinkedCell = "Memo!$E$1"
.DropDownLines = 8
.Display3DShading = True
End With
ActiveSheet.Shapes("Drop Down 7").Select 'Anzahlung
With Selection
.ListFillRange = "Memo!$F$2:Memo!$F$6"
.LinkedCell = "Memo!$F$1"
.DropDownLines = 8
.Display3DShading = True
End With
ActiveSheet.Shapes("Drop Down 3").Select 'Anrede
With Selection
.ListFillRange = "Memo!$D$2:Memo!$D$8"
.LinkedCell = "Memo!$D$1"
.DropDownLines = 8
.Display3DShading = True
End With
ActiveSheet.Shapes("Drop Down 8").Select 'Betrag Netto/Brutto
With Selection
.ListFillRange = "Memo!$B$21:Memo!$B$22"
.LinkedCell = "Memo!$B$21"
.DropDownLines = 8
.Display3DShading = True
End With
ActiveWorkbook.Save
ActiveWorkbook.Close
'Löschen der Felder
'Warenkorb
Range("B12:F23").Select
Selection.ClearContents
'Adressfeld
Range("F6:G9").Select
Selection.ClearContents
'Datum
Range("B8").Select
Selection.ClearContents
'Anzahlung
Range("D9").Select
Selection.ClearContents
Range("D8").Select
ActiveCell.FormulaR1C1 = "0"
'Dropdown-Felder auf 1 setzten
Worksheets("Memo").Range("B1").Value = "1"
Worksheets("Memo").Range("C1").Value = "1"
Worksheets("Memo").Range("D1").Value = "1"
Worksheets("Memo").Range("E1").Value = "1"
Worksheets("Memo").Range("F1").Value = "1"
Worksheets("Memo").Range("B20").Value = "1"
'Wieder aktiv
Range("F6").Select
End Sub

Anzeige
AW: Stop den Sub
08.09.2003 21:44:38
Björn B.
Hallo dehe,

man beachte den Zeilenumbruch nach dem "Then"!

Wenn Du direkt nach dem "Then" einen Anweisung schreibst, dann "denkt" VBA, dass damit die if...then-Bedingung beendet ist, deshalb mekert VBA über das "End if" ohne Block if.

Wenn Du mehr als eine Anweisung unterbringen willst (Msgbox und Exit), dann musst Du die Zeile if... mit "Then" beenden und in einer neuen Zeile mit der ersten Anweisung (Msgbox) beginnen. Nach der letzten Anweisung (Exit) ist dann zwingend ein "End if" erforderlich.

Gruß
Björn
AW: Stop den Sub - Klappt
08.09.2003 23:41:43
dehe
nabend Björn...

besten dank dafür! Klappt, alles wunderbar und ich bin jetzt schlauer geworden ;-)

THX

Freundlichen Gruß aus Hessen
dehe
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige