Das Archiv des Excel-Forums

makro ausführen wenn zellen gefüllt sind

Bild

Betrifft: makro ausführen wenn zellen gefüllt sind
von: oli

Geschrieben am: 08.10.2003 16:28:52

Hallo.
Ich habe ein Makro erstellt, dass eine neue Datei mit einer Tabelle erstellt, deren Inhalt aus einer anderen Datei kommt.
Schick wäre es jetzt, wenn das Makro nur ausgeführt wird, wenn die entsprechenden Zellen auch gefüllt sind. Am besten noch mit einer Fehlermeldung nach dem Stil:
"Informationen nicht verfügbar".

Ich komme da mit meinen vba-kenntnissen nicht mehr weiter. Wie mache ich die Abfrage und die Fehlermeldung?

Vielen Dank schonmal, Grüße
oli
Bild


Betrifft: mein erster ansatz
von: oli
Geschrieben am: 08.10.2003 17:00:01

also, ich habe inzwischen doch noch was gefunden, dass mich aber nur tlw. weiterbringt.

If Range("'3 Overview'!d10") = "" Then
MsgBox "Erst Zelle Customer füllen"
Else
'mein Makro
End If

Allerdings müssen die Zellen d10, d11 und noch weitere gefüllt sein. Kann ich das irgendwie schachteln?

sollte sich noch jemand erbarmen, vielen dank


Bild


Betrifft: AW: Hinweis
von: Hajo_Zi
Geschrieben am: 08.10.2003 17:07:08

Hallo

durch Deinen zweiten Beitrag ist Dein Beitrag aus der Liste der offenen Beiträge raus, da Du selber ja eine Antwort gegeben hast.


Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

http://home.media-n.de/ziplies/



Bild


Betrifft: AW: mein erster ansatz
von: börni
Geschrieben am: 08.10.2003 17:08:43

hallo oli,

ich bin zwar selbst kein spezialist, aber ich hätts mal so probiert:


Private Sub test()
If Range("A1").value = "" Then
MsgBox "Der Bereich ist leer!"
Else
DEIN MAKRO
End If
End Sub


das einzige problem dabei ist: range("A1:D5") zb nimmt er nicht an! ich weiß auch nicht wieso!

grüße
börni


Bild


Betrifft: AW: mein erster ansatz
von: ChrisL
Geschrieben am: 08.10.2003 17:09:51

Hi Oli

Anhand deiner Beschreibung kann ich nur raten...

With Worksheets("3 Overview")

If .Range("D10") = "" Or .Range("D11") = "" Or .Range("X1") = "" Then
MsgBox "Erst Zelle Customer füllen"
Exit Sub
Else
'mein Makro
End If

End With


Gruss
Chris


Bild


Betrifft: AW: mein erster ansatz
von: ChrisL
Geschrieben am: 08.10.2003 17:12:15

oder noch ein anderer Ansatz... schau mit der Funktion ISTLEER bzw. CountBlank ob es in einem bestimmten Bereich Leerzellen gibt...

If Application.WorksheetFunction.CountBlank(Worksheets("3 Overview").Range("D10:D14") > 0 Then ...

Gruss
Chris


Bild


Betrifft: AW: mein erster ansatz
von: oli
Geschrieben am: 08.10.2003 17:22:23

Hallo Chris,
vielen Dank.

Vielen Dank auch den Anderen und vor allem auch Hajo, für den Hinweis. Das war mir nicht bewusst.

Chris: Dein Makro gefällt mir prächtig, Problem ist nur, dass am besten immer unterschiedliche Meldungen ausgegeben werden sollten.

Wahrscheinlich bleibt mir dann nur eine Wiederholung der If-Abfrage, oder? (sieht so unelegant aus).

Etwa so:
If Range("'3 Overview'!l9") = "" Then
MsgBox "First fill cell in sheet 3 Overview"
Else
If Range("'1 Coversheet'!d28") = "<>" Then
MsgBox "First fill cell in sheet 1 Coversheet"
Else
If Range("'3 Overview'!c25") = "0,00 T€" Then
MsgBox "First fill sheet 4 Budgeted Costs"
Else
If Range("'3 Overview'!L10") = "01.01.1971" Then
MsgBox "First fill cells in sheet 3 Overview"
Else
If Range("'3 Overview'!L11") = "01.01.1971" Then
MsgBox "First fill cells in sheet 3 Overview"
Else
If Range("'3 Overview'!L10") = "" Then
MsgBox "First fill cells in sheet 3 Overview"
Else
If Range("'3 Overview'!L11") = "" Then
MsgBox "First fill cells in sheet 3 Overview"
Else
If Range("'3 Overview'!d10") = "" Then
MsgBox "First fill cell in sheet 3 Overview"
Else
If Range("'3 Overview'!d11") = "" Then
MsgBox "First fill cell in sheet 3 Overview"
Else

'mein Makro

End If
End If
End If
End If
End If
End If
End If
End If
End If


Bild


Betrifft: AW: mein erster ansatz
von: ChrisL
Geschrieben am: 08.10.2003 17:29:48

Hi Oli

Einzeln ist in dem Fall vermutlich schon am einfachsten. Der Übersichtlichkeit wegen würde ich aber wie folgt:

If Range("'3 Overview'!l9") = "" Then
MsgBox "First fill cell in sheet 3 Overview"
Exit Sub
End If

If Range("'1 Coversheet'!d28") = "<>" Then
MsgBox "First fill cell in sheet 1 Coversheet"
Exit Sub
End If

etc.

Gruss
Chris


Bild


Betrifft: Vielen Dank
von: oli
Geschrieben am: 08.10.2003 17:36:24

Hallo Chris,

ja, das ist toll so. Vielen Dank Dir.

Grüße
oli


Bild


Betrifft: AW: mein erster ansatz
von: Reinhard
Geschrieben am: 08.10.2003 18:53:30

Hi Oli,
ob meins eleganter ist? *hmmh* Ansichtssache, auf jeden Fall kürzer:-)

Sub oli()
arrDat = Array("nix", "3 Overview", "1 Coversheet", "4 BudgetCosts")
arrFehl = Array(1, "L9", "", 1, 2, "D28", "<>", 2, 1, "C25", "0,00 T€", 3, _
1, "L10", "01.01.1971", 1, 1, "L11", "01.01.1971", 1, _
1, "L10", "", 1, 1, "L11", "", 1, 1, "D10", "", 1, 1, "D11", "", 1)
For n = 0 To 8
If Worksheets(arrDat(arrFehl(4 * n))).Range(arrFehl(4 * n + 1)) = arrFehl(4 * n + 2) _
Then MsgBox "first fill cells in " & arrDat(arrFehl(4 * n + 3))
Next n
End Sub



 Bild

Excel-Beispiele zum Thema " makro ausführen wenn zellen gefüllt sind"

Makros in Abhängigkeit vom Zellennamen aufrufen download Zellen auf Kommentar überprüfen download
Spalten bedingt summieren und Zellen formatieren download Text aus Textbox in Zellen aufteilen download
Zellen vergleichen und markieren download Zählen formatierter Zellen download
Daten aus Textdatei gezielt in Zellen übernehmen download Zellen verbinden und trennen download
Zellen bei Minuswerten schraffieren download Zeilen oberhalb der markierten Zellen einfügen download
Drei Zellen rechts der aktiven Zelle markieren download Zellen vom Druck ausschließen download
Zellenwert als Autofilter-Kriterienwert download Nur Zellen mit Inhalt in ComboBox listen download
Verweise auf Zellen in geschlossener Arbeitsmappe erstellen download Zellen nach Schriftfarbe summieren download
Füllen aller leeren Zellen mit einem Platzhalter download Alle Zellen mit der #BEZUG!-Fehlermeldung auswählen download
Zeilen mit Zellen mit rotem Hintergrund ausblenden download Anzahl der gelb hinterlegten Zellen ermitteln download
Editieren von Zellen durch DoppelKlick verhindern download Nach Eingabe eines Kurzbegriffes Werte in Nebenzellen eintragen download
Auswahl aus Tabellenblatt-ListBox in Zellen übernehmen download Anzahl von Zellen mit einer bestimmten Hintergrundfarbe ermitteln download
Werte in Zellen mit vorgegebener Hintergrundfarbe addieren download Prüfung, ob Parallelzellen übereinstimmen download
Zellen verbinden, mehrzeiligen Text eingeben und Höhe anpasssen download Kofpzeilenwerte angekreuzter Zellen multiplizieren download
Zellen über Tabellenblatt-Schaltfläche multiplizieren download Wert aus A1 in mehrere Zellen übernehmen download
Zellen für Eintrag auswählen und UserForm-ListBox aufrufen download Alle Zellen in Spalte A ohne Eintrag gelb hinterlegen download
Nur sichtbare Zellen addieren download Zellinhalte vor dem Verbinden der Zellen zusammenfassen download
Blatt auswählen und Zellen nacheinander drucken download Leere und Zellen mit 0 aus-/einblenden download
Zugriff auf Zellen unter Verwendung eines Bereichsnamens download Nur die sichtbaren Zellen eines AutoFilter-Bereiches einlesen download
Zellen mit Hintergrundfarbe in neuer Arbeitsmappe auflisten download Eingaben in Abhängigkeit von dritten Zellen zulassen/verhindern download
Prüfung, welche Zellen nach Öffnen verändert wurden download Arbeitsmappe nach Ausfüllen der Eingabezellen auf ReadOnly setzen download
Nur sichtbare Zellen in anderes Arbeitsblatt kopieren download Zeilenhöhe bei verbundenen Zellen anpassen download
Einfügen von Zeilen vor und nach Zellen mit Fettdruck download Bei Zelleingabe andere Zellen füllen download
Dialogaufruf, wenn zwei Zellen Werte enthalten download Gültigkeitsliste ohne Lerrzellen download
Menüpunkt "Zellen einfügen..." im Kontextmenü deaktivieren download Zellen verbinden, ohne dass Werte verlorengehen download