Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1012to1016
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

Makro unterbrechen wenn bestimmte Zelle leer

Makro unterbrechen wenn bestimmte Zelle leer
03.10.2008 07:29:45
WalterK
Guten Morgen,
wer kann mir beim folgenden Code eine kleine Änderung durchführen:
1.) das Makro sollte abgebrochen werden, wenn im Blatt "Daten" die Zelle "AB12" leer ist und
2.) es sollte eine MsgBox mit dem Hinweis kommen, dass die Eingabe bei "AB12" fehlt und das sollte mit OK bestätigt werden müssen

Sub Schaltfläche29_BeiKlick()
If [AT39]  "" Then
Range("CC37").GoalSeek Goal:=Range("AT39").Value, ChangingCell:=Range("BN37")
Range("CC37").GoalSeek Goal:=Range("AT39").Value, ChangingCell:=Range("BN37")
If [AT44]  "" Then
Range("CC42").GoalSeek Goal:=Range("AT44").Value, ChangingCell:=Range("BN42")
Range("CC42").GoalSeek Goal:=Range("AT44").Value, ChangingCell:=Range("BN42")
End If
End Sub


Besten Dank und Servus
Walter

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

Betreff
Datum
Anwender
Anzeige
If IsEmpty + ein End If ___ ;o)
03.10.2008 10:23:39
Matthias
Hallo Walter
  • Im geposteten Code fehlte ein End IF



  • hier mit Abfrage und dem Fehlenden End IF:

  • 
    If IsEmpty(Worksheets("Daten").Range("AB12")) Then MsgBox "Im Blatt(Daten) muß die Zelle  _
    AB12 erst gefüllt werden" & vbLf & "Programmablauf wird unterbrochen", vbInformation, " Hinweis von Walter ...": Exit Sub
    If [AT39] "" Then Range("CC37").GoalSeek Goal:=Range("AT39").Value, ChangingCell:=Range("BN37") Range("CC37").GoalSeek Goal:=Range("AT39").Value, ChangingCell:=Range("BN37") If [AT44] "" Then Range("CC42").GoalSeek Goal:=Range("AT44").Value, ChangingCell:=Range("BN42") Range("CC42").GoalSeek Goal:=Range("AT44").Value, ChangingCell:=Range("BN42") End If End If




    Gruß Matthias
    Anzeige
    AW: If IsEmpty + ein End If ___ ;o)
    03.10.2008 20:10:41
    WalterK
    Hallo Matthias,
    mein Code sieht jetzt so aus, funktioniert aber noch nicht. Es kommt: Fehler beim Kompilieren: Syntaxfehler
    
    Sub Schaltfläche29_BeiKlick()
    If IsEmpty(Worksheets("DN-Daten erfassen").Range("AO30")) Then MsgBox "Im Blatt(Daten) muß die  _
    Zelle _
    AB12 erst gefüllt werden" & vbLf & "Programmablauf wird unterbrochen", vbInformation, " Hinweis  _
    von Walter ...": Exit Sub
    If [AT39]  "" Then
    Range("CC37").GoalSeek Goal:=Range("AT39").Value, ChangingCell:=Range("BN37")
    Range("CC37").GoalSeek Goal:=Range("AT39").Value, ChangingCell:=Range("BN37")
    End If
    If [AT44]  "" Then
    Range("CC42").GoalSeek Goal:=Range("AT44").Value, ChangingCell:=Range("BN42")
    Range("CC42").GoalSeek Goal:=Range("AT44").Value, ChangingCell:=Range("BN42")
    End If
    End Sub
    


    Was mache ich falsch?
    Servus, Walter

    Anzeige
    AW: If IsEmpty + ein End If ___ ;o)
    03.10.2008 20:59:00
    Jens
    Hi Walter
    Versuch mal so:
    
    Sub Schaltfläche29_BeiKlick()
    If IsEmpty(Worksheets("DN-Daten erfassen").Range("AO30")) Then
    MsgBox "Im Blatt (Daten) muß die Zelle AB12 erst gefüllt werden" & vbLf & "Programmablauf wird  _
    unterbrochen", vbInformation, " Hinweis von Walter ..."
    Exit Sub
    Else
    If Range("AT39")  "" Then
    Range("CC37").GoalSeek Goal:=Range("AT39").Value, ChangingCell:=Range("BN37")
    Range("CC37").GoalSeek Goal:=Range("AT39").Value, ChangingCell:=Range("BN37")
    End If
    If Range("AT44")  "" Then
    Range("CC42").GoalSeek Goal:=Range("AT44").Value, ChangingCell:=Range("BN42")
    Range("CC42").GoalSeek Goal:=Range("AT44").Value, ChangingCell:=Range("BN42")
    End If
    End If
    End Sub
    


    Gruß aus dem Sauerland
    Jens

    Anzeige
    AW: If IsEmpty + ein End If ___ ;o)
    03.10.2008 21:25:18
    WalterK
    Hallo Jens,
    es kommt nach wie vor der gleiche Fehler: Fehler beim Kompilieren: Syntaxfehler
    Es wird dabei der Text von [MsgBox "Im...] bis [von Walter..."] blau markiert.
    Danke und Servus, Walter
    AW: If IsEmpty + ein End If ___ ;o)
    03.10.2008 21:31:00
    Uwe
    Hi Jens,
    es klappt nicht, die Programmzeile innerhalb der Gänsfüßchen mit _ zu splitten, der wird nur als Text gelesen. So:
    
    MsgBox "Im Blatt (Daten) muß die Zelle AB12 erst gefüllt werden" & vbLf & _
    "Programmablauf wird unterbrochen", vbInformation, " Hinweis von Walter ..."
    


    sollte es klappen.
    Gruß
    Uwe
    (:o)

    Anzeige
    Danke an alle, jetzt funktionierts. Servus, Walter
    03.10.2008 22:07:24
    WalterK
    @Uwe
    03.10.2008 23:11:40
    Jens
    Hi Uwe
    Im Original-Code hab ich diese Trennung auch nicht drin. Da is wohl was beim Übertragen schief gelaufen.
    Hab ich ehrlich gesagt, eben gar nicht drauf geachtet. Asche auf mein Haupt. :o)
    Danke für den Hinweis. Das ist mir noch nie wirklich aufgefallen.
    Gruß aus dem Sauerland
    Jens
    AW: If IsEmpty + ein End If ___ ;o)
    03.10.2008 21:39:17
    Matthias
    Hallo
    Scheint nicht ganz klar zu sein
    Du fragst ab ob die Zelle AO30 leer(IsEmpty) ist.
    Dann bringst Du aber die Meldung das AB12 erst gefüllt werden soll. Wie passt denn das zusammen?
    Sieht also so aus, als ob in AO30 eine Formel steht in der Du Dich auf AB12 beziehst.
    Dann dürftest Du nicht IsEmpty benutzen sondern .Value
    Übrigens hab ich den Code, so wie Du ihn jetzt gepostet hast probiert.
    Es kommt kein Fehler. Hab zum Probieren noch eine MSGBOX drin.
    hier die Datei:
    https://www.herber.de/bbs/user/55809.xls
    schreib: If IsEmpty(Worksheets("DN-Daten erfassen") ......... in eine Zeile.
    Gruß Matthias
    Anzeige
    AW: If IsEmpty + ein End If ___ ;o)
    03.10.2008 22:11:00
    WalterK
    Hallo Matthias,
    du hast Recht, ich hatte versehentlich AB12 geschrieben, sollte aber AO30 heißen.
    Dein Beispiel funktioniert wie gewünscht.
    Besten Dank und Servus, Walter

    332 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige