Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
824to828
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
824to828
824to828
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
MsgBox wenn Zelle leer
29.11.2006 23:13:10
Uwe
Hallo an Alle,
hab in der Recherche folgenden Code gefunden und ein bissel probiert.....
Private Sub CommandButton37_Click() If Range("I10") = "" Then MsgBox "I10 leer" Else 'MsgBox "Beitrag:" & Range("I10") End If If Range("I11") = "" Then MsgBox "I11 leer" Else 'MsgBox "Beitrag:" & Range("I11") End If End Sub
... wie muß der Code aussehen wenn ich eine Menge mehr Zellen prüfen möchte, und die mir dann alle in einer MsgBox angezeigt werden.
So wie ich es abgeändert habe wird ja immer eine nach der anderen angezeigt.
Vorab schon mal Danke!!!
Gruß Uwe

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: MsgBox wenn Zelle leer
29.11.2006 23:19:23
ramses
Hallo
Was ist eine "Menge mehr" ?
Gibt es eine Logik der zu prüfenden Zellen ?
Gruss Rainer
AW: MsgBox wenn Zelle leer
29.11.2006 23:27:53
Uwe
Hallo Rainer,
nein leider is bei meinen basteleien nix logisch :-)
Hab ein Tabellenblatt wo mittlerweile so viele Zellen mit Zahlen oder Text zu füllen sind das man schon mal welche vergessen kann.
Also die Zellen liegen halt kreuz und quer auf dem Tabellenblatt.
Das hatte ich halt in der Recherche gefunden und fand das was aufwendig wenns so geschrieben wird.
Und das es nicht in einer MsgBox angezeigt wird.
Hoffe du kannst was damit anfangen.
Gruß Uwe
AW: MsgBox wenn Zelle leer
29.11.2006 23:49:03
ramses
Hallo
Du musst halt dann irgendwo einmal den Bereich definieren, der geprüft werden soll
Option Explicit

Sub checkCells()
Dim chkRange As Range, myC As Range
Dim msg As String
'Hier die Zellen eintragen die geprüft werden sollen
Set chkRange = Range("A1,A5,A10,A15,A20,A25")
'Ab hier nichts mehr ändern
msg = ""
For Each myC In chkRange
If IsEmpty(myC) Then
msg = msg & myC.Address & vbCrLf
End If
Next
If msg = "" Then
MsgBox "Alle Zellen gefüllt", vbInformation + vbOKOnly, "Prüfergebnis"
Else
MsgBox "Folgende Zellen sind leer:" & vbCrLf & msg, vbInformation + vbOKOnly, "Prüfergebnis"
End If
End Sub

Das Makro in ein Modul deiner Arbeitsmappe kopieren
Wie macht man das
anschliessend über "Extras - Makros - Bearbeiten" das Makro auswählen, "Optionen" wählen und eine Tastenkombination zuweisen, oder einer Schaltfläche zuweisen
Gruss Rainer
Anzeige
AW: MsgBox wenn Zelle leer
30.11.2006 00:18:14
Uwe
Hi Rainer,
hab das mal so eingebaut.
Mit der Aussage Prüfergebnis hat das ganze schon mal was.
Hab da aber jetzt zusätzliche Fragen.
Die MsgBox zeigt dann ja mit einem Sonderzeichen vorangestellt die nicht gefüllten Zellen an. Kann man den die Zellen irgend wie bezeichen z.b "I 17 Test1". Weil nur die Zelle sagt mir dann nix und ich muß im Tabellenblatt suchen und schauen ob ich die Zelle vernachlässigen kann oder ob ich sie füllen muß.
Ich hoffe ich hab das einigermaßen erklären können.
Oder denk ich da völlig falsch und er wäre besser mit einer Listbox zu lösen?
So in der Art ich drück auf den Button...Listbox geht auf...drin stehen die nicht gefüllten Zellen mit eigenen Namen zur besseren Erkennung...klick drauf und spring zur Zelle oder ignorieren.
Gruß Uwe
Anzeige
AW: MsgBox wenn Zelle leer
30.11.2006 20:49:43
ramses
Hallo
Wie setzt sich die Bezeichnung "I 17 Test1" zusammen, bzw. woher kommt diese.
Gruss Rainer
AW: MsgBox wenn Zelle leer
30.11.2006 23:52:40
Uwe
Hallo Rainer,
die verschiedenen Zellen muß ich mal mit Zahlen füllen und mal mit Text. Andere Zellen haben auch Formeln.
Also so wie du das mit der MsgBox gemacht hast war schon klasse.
Nur steht halt in der MsgBox z.b.
$I$17
$J$38
$L$55
jetzt muß ich im Tabellenblatt suchen was z.b. J38 ist. Wenn in der MsgBox dann stehen würde J 38 = Gewicht wüste ich ob ich es noch füllen muß oder es vernachlässigen kann.
Also wenn die MsgBox so aussehen würde.....
$I$17= Alter
$J$38= Gewicht
$L$55= Ort u.s.w.
Vielleicht gibt es ja eine bessere Lösung? so mit anklicken und zur Zelle springen.
Aber schon mal vielen Dank für deine Mühe und Geduld.
Hoffe die Info hat einigermaßen geholfen.
Gruß Uwe
Anzeige
AW: MsgBox wenn Zelle leer
01.12.2006 03:07:34
ramses
Hallo
steht die Bezeichnung irgendwo immer in der Nähe der Zelle an der gleichen Stelle
Tabelle1

 ABC
1Gewicht  
2   
3   
4   
5 Breite 
6   
7   
8Grösse  
9   
10   

Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML    Download  
Also wie im Beispiel immer links, oder auch oben, von der Zelle ?
Gruss Rainer
Anzeige
AW: MsgBox wenn Zelle leer
01.12.2006 09:15:53
Uwe
Guten Morgen Rainer,
also einige Zellen sind so in einer Nebenzelle beschriftet. Manche halt nicht. Andere wieder oben oder rechts.
Aber das könnte ich ja irgendwie dann noch anpassen wenn erforderlich.
Gruß Uwe
AW: MsgBox wenn Zelle leer
01.12.2006 12:28:44
Ramses
Hallo
einigen wir uns darauf, dass die Beschriftung der jeweiligen Zelle IMMER LINKS von der Zelle steht.

Sub checkCells()
Dim chkRange As Range, myC As Range
Dim msg As String
'Hier die Zellen eintragen die geprüft werden sollen
Set chkRange = Range("A1,A5,A10,A15,A20,A25")
'Ab hier nichts mehr ändern
msg = ""
For Each myC In chkRange
If IsEmpty(myC) Then
msg = msg & myC.offset(0,-1).Text & vbCrLf
End If
Next
If msg = "" Then
MsgBox "Alle Zellen gefüllt", vbInformation + vbOKOnly, "Prüfergebnis"
Else
MsgBox "Folgende Zellen sind leer:" & vbCrLf & msg, vbInformation + vbOKOnly, "Prüfergebnis"
End If
End Sub

Dann sollte das rauskommen was du willst
Gruss Rainer
Anzeige
AW: MsgBox wenn Zelle leer
01.12.2006 22:19:49
Uwe
Hallo Rainer,
hab das jetzt mal so eingearbeitet und einige Zellen so umgesetzt das ihre Bedeutung links daneben steht.
Jedoch führt die MsgBox nicht alle sichtbar leeren Zellen auf.
Also so wie es für mich aussieht sind das alle Zellen wo ich mal in Text oder sonstiges formatiert hab. Ebenso die Zellen wo Formel drin stehen.
Ansonsten ist das schon eine tolle Sache wenn man mal was übersehen hat.
Hoffe das ich Dir nicht zu viel durcheinander geschrieben habe, und du nicht schon völlig entnervt bist :-)
Vielleicht gibts für den Rest auch noch eine Lösung.
Vorab schon mal vielen Dank. Es ist immer wieder erstaunlich was alles möglich ist.
Gruß Uwe
Anzeige
AW: MsgBox wenn Zelle leer
01.12.2006 23:41:56
ramses
Hallo
":..Jedoch führt die MsgBox nicht alle sichtbar leeren Zellen auf...."
Du musst ALLE Zellen die du auf Inhalt prüfen willst in dieser Zeile
Set chkRange = Range("A1,A5,A10,A15,A20,A25")
auflisten.
"....Also so wie es für mich aussieht sind das alle Zellen wo ich mal in Text oder sonstiges formatiert hab..."
Ändere versuchsweise mal die Zeile
If IsEmpty(myC) Then
in
If myC.Value = "" Then
"...Ebenso die Zellen wo Formel drin stehen...."
Das KANN nicht sein dass in einer Zelle wo DU EINE EINGABE machen musst, eine Formel drin steht. DAS ergibt keinen Sinn.
Gruss Rainer
Anzeige
AW: MsgBox wenn Zelle leer
02.12.2006 09:48:01
Uwe
Hallo Rainer,
das ist perfekt.
Hab die Änderungen eingetragen und es klappt soweit.
Und natürlich hast Du recht mit den Formeln! Hab einfach die Bezugszellen dafür genommen.
Jetzt gibt es doch noch ein Problem?!?
Kann es sein das die Eingaben der zu prüfenden Zellen von ihrer Anzahl eingeschränkt ist.
Set chkRange = Range("e2,e3,e4,e5,e6,h7,e8,e9,e10,e11,e12,e13,e14,e15,e16,e17,e18,g18,e19,e20,e21,e22,h22,j22,e23,h23,j23,e24,i24,e25,e26,e27,e28,e29,e30,e31,e32,e33,e34,e35,e47,e48,e49,b54,j13,o2,o3,o4,q7,q8,q9,n11,n12,n14,n34,e56,h50")
und das wären noch nicht alle Zellen? Denn egal was ich jetzt noch an Zellen mit eingebe wird nicht mehr angezeigt.
Gruß Uwe
Anzeige
AW: MsgBox wenn Zelle leer
02.12.2006 10:22:29
ramses
Hallo
Was willst du denn da prüfen ? Das sind doch nicht alles Pflichtfelder für eine Eingabe ?
Die String-Länge ist auf 256 Zeichen begrenzt
Du kannst den bereich auch so definieren
Set chkRange = Range("E2:E35,H22:H24,J22:J24")
Alternativ für die Übersichtlichkeit, kannst das dann auch erweitern
Set chkRange = Range(chkRange.Address & ",O2:O10, b1:B25")
"...und das wären noch nicht alle Zellen?..."
Sei mir nicht böse, aber als Eingabeprüfung ist das doch gelinde gesagt,"Quatsch",... das ist ja das halbe Tabellenblatt ;-)
Das gibt ja eine Prüfanzeige grösser als der Bildschirm, wenn nur die Hälfte der Zellen nicht ausgefüllt ist ;-)
Was gibst du denn dort für eine Art an Daten ein ?
Gruss Rainer
Anzeige
AW: MsgBox wenn Zelle leer
02.12.2006 13:33:57
Uwe
Hallo Rainer,
also ich weiß garnicht wo da anfangen soll......
also als Anfänger mit Excel bin ich mal auf das Forum gestoßen, und da war es geschehen.
Durch so Spezialisten wie Du ist eine Idee nach der anderen gewachsen.
.....Genau so sieht das aus.....ich glaub du würdest die Hände über dem Kopf zusammen schlagen wenn du das siehst.....aber....es geht...dank der vielen Hilfe.
Und tatsächlich ist das erste Blatt überhäuft mit Eingabezellen die greifen auf andere Mappen zu, verteilen dann auf weitere Tabellenblätter mit Text mit Zahlen und und und.....also ich kanns selbst nicht richtig beschreiben.
Ist halt ein tolles Hobby geworden....Ob es Sinn macht......man wird sehen...hahaha.
Nein also wirklich, es funktioniert bis jetzt so wie ich es mir vorstelle..... aber warte...da kommen sicher noch mehr Ideen. :-)
Nochmals vielen Dank, und ich hoffe das ich euch weiter mit solchen Fragen und Hilfen nerven darf.
Gruß Uwe
AW: MsgBox wenn Zelle leer
02.12.2006 16:36:14
ramses
Hallo
Mir ist noch eine Idee gekommen, wie du das mit den Einzelzellen im Code verhindern kannst.
Markiere mit Hilfe der "Ctrl"-Taste ALLE Eingabezellen in deiner Tabelle
Danach
Einfügen - Namen - Definieren
Vergib den Namen "Prüfbereich"
Danach kannst du im Code einfach anstelle von
Set chkRange = Range("E2:E35,H22:H24,J22:J24")
die Zeile
Set chkRange = Range("Prüfbereich")
angeben. Das sollte genauso gehen, und ist wahrscheinlich einfacher zum handhaben.
Trotzdem weiterhin viel Spasse :-)
Gruss Rainer
AW: MsgBox wenn Zelle leer
29.11.2006 23:35:43
Yal
Warum nicht mit einem Filter auf der Spalte I?
Einmal mit Bedingung "Leer" und einmal mit "nicht Leer" filtern.
Das Aufpoppen von MsgBox verursacht mMn mehr Störung als realer Vorteile. Oder?
Yal
AW: MsgBox wenn Zelle leer
29.11.2006 23:40:08
Uwe
Hallo Yal,
bin noch nicht so fit mit dem ganzen.
Aber ich glaube so was geht auch nicht weil die zu prüfenden Zellen kreuz und quer verteilt sind.
Gruß Uwe
AW: MsgBox wenn Zelle leer
30.11.2006 00:03:08
Yal
Hi Uwe,
probiere trotzdem:
Shift+Strg+* (stern, neben die Enter-Taste)
Alt+n, f, f
dann je nach Spalte filtern.
Suchst Du nur die leere Zelle eines Bereiches?:
_ alles markieren: Strg+a
_ "Bearbeiten >> Gehe zu" auswählen oder Strg+g
_ "Inhalt..." anklicken oder Alt+i
_ "Leerzellen" auswählen (oder r)
dann erste Zelle befüllen. Bei Enter wird zu der nächste Leerzelle gesprungen. usw...
Yal.
Muss schlafen gehen, sorry.
AW: MsgBox wenn Zelle leer
30.11.2006 08:44:19
Uwe
Hi Yal,
leider ist das nicht so meine Lösung für das Problem.
Ramses hat mich mit seinem Code wieder auf neue Ideen gebracht.
Mal schaun wie man das umsetzen kann. Ihr Jungs bringt halt so Anfänger wie mich immer wieder auf neue Ideen.
Danke.
Gruß Uwe

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige