Anzeige
Archiv - Navigation
1408to1412
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

wenn spalten leer dann MsgBox und Abbruch sonst

wenn spalten leer dann MsgBox und Abbruch sonst
22.02.2015 14:31:24
manega

Ich bin am Verzweifeln, auch stundenlanges googeln hat nicht geholfen.
Nun hoffe nun auf eure Hilfe!
Ich möchte per Makro Zahlenwerte aus einem Tabellenblatt
in ein anderes Tabellenblatt zur weiteren Berechnung übertragen.
Das funktioniert auch super.
Jetzt zum eigentlichen Problem.
Vor dem Übertragen der Zahlenwerte soll geprüft werden, ob im
anderen Tabellenblatt (Liste) bereits Zahlenwetre vorhanden sind.
Falls ja soll eine MsgBox mit einer Meldung geöffnet werden und
das Makro abgebrochen werden. Falls alles leer ist soll ein anderes
Makro mit "Call" aufgerufen werden.
Da in einer der zu überprüfenden Spalten im Blatt "Liste" Formeln vorhanden
sind müsste das Makro so aufgebaut sein, dass es bei der Überprüfung nicht
nach leeren Zellen sucht, sondern nach Zahlen >=1.
Wichtig ist auch, dass die zu überprüfenden Spalten per "select" ausgewählt
werden können, da sich der Bereich ändern kann und daher für die Auswahl der
Spalten ein extra Makro existiert welches über den Befehl "Call" aufgerufen
wird.
Hier das Makro welches ich z.Zt. habe. Die Überprüfung scheitert jedoch an
den Formeln. Außerdem wird das Makro nach dem Erscheinen der MsgBox nicht
beendet.

Sub Einzel_Überprüfen_ob_Liste_leer()
Sheets("Liste").Select
Call Einzel_Tab_Liste_Schränke_Entnahme_Eingang_markieren
For Each Zelle In Selection
If IsEmpty(Zelle) = False Then
MsgBox "Im Arbeitsblatt Liste sind bereits Eintäge vorhanden! Diese zuerst speichern und  _
anschließend den Vorgang wiederholen!"
Exit For
End
Else
End If
Call Einzel_Tabellenfarbe_rot
End Sub
Ich hoffe ihr könnt mir hefen!

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: wenn spalten leer dann MsgBox und Abbruch sonst
26.02.2015 16:45:37
Michael (migre)
Hallo Manega (?!),
wenn Deine Frage schon soviel Text enthält - wär's schwer gewesen am Anfang noch ein "Hallo" und am Ende evtl. eine Grußformel mit Dank hinzuzufügen? Die üblichen Höflichkeitsformeln schaden auch im Forum nicht!
Zu Deiner Frage: Ich würde das nicht über eine Schleife prüfen, aber wenn es Dir nur um Ziffern/Zahlen im zu überprüfenden Bereich geht, kannst Du das bspw. so machen
Sub TabAufZahlenPruefen()
Dim i As Long
'im verwendeten Bereich der Tabelle prüfen
'i = WorksheetFunction.Count(Tabelle1.UsedRange)
'### Oder ###
'im zusammenhängend markierten Bereich auf Zahlen prüfen
'i = WorksheetFunction.Count(ActiveCell.CurrentRegion.Address)
'### Oder ###
'in der aktuellen Auswahl auf Zahlen prüfen
'i = WorksheetFunction.Count(Selection)
If i > 0 Then
MsgBox "Im Arbeitsblatt Liste sind bereits Eintäge vorhanden!"
GoTo Abbruch:
Else: Call XXXXX 'Dein anderes Makro aufrufen, musst Du ergänzen
End If
Abbruch:
End Sub
Im Code verwende ich die "normale" Excel-Zellfunktion "Zählen"; sobald die 1 oder mehr Ziffer/Zahl im jeweiligen Bereich findet, ist Ihr Wert > 0 und dann wird eine Nachricht angezeigt; wenn ihr Wert 0 (oder kleiner... ) ist, wird ein anderes Makro aufgerufen. Beachte dazu auch meine Kommentare direkt im Code
Eine Rückmeldung wäre nett!
Michael

Anzeige

382 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige