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

VBA zur Prüfung auf Vollständigkeit

VBA zur Prüfung auf Vollständigkeit
15.09.2015 11:40:13
Roffel89
Hallo,
ich benötige ein kleines Makro. Das ein Tabellenblatt prüft, ob alle Zeilen welche ausgefüllt sind, vollständig ausgefüllt sind. Also nicht nur Spalte A, sondern auch die Spalten B bis G. Und gegebenenfalls mir vielleicht noch sagt, ob alles ausgefüllt ist, und wenn nicht, wo etwas fällt. Das ware natürlich toll.
Angehängt meine Tabellenblatt zur Hilfe.
Userbild
Wäre mega, wenn mir jemand weiterhelfen könnte.
VG
Roffel

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA zur Prüfung auf Vollständigkeit
15.09.2015 12:46:50
Armin
Hallo Roffel,
diesen Code ausführen:
Sub Pruefe_Daten()
Dim mCount As Long
Dim mCol As Integer
With Tabelle1  ' Anpassen je nach Tabelle!!
For mCount = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
For mCol = 1 To 7
If .Cells(mCount, mCol).Value = "" Then
.Cells(mCount, mCol).Interior.ColorIndex = 6
Else
.Cells(mCount, mCol).Interior.ColorIndex = xlColorIndexNone
End If
Next
Next
End With
End Sub
Gruß Armin

AW: VBA zur Prüfung auf Vollständigkeit
15.09.2015 13:08:23
Roffel89
Hallo Armin,
vielen Dank für deine Hilfe.
ich habe jetzt deinen Code benutzt und versucht meinem Button zuzuweisen. Allerdings become ich eine Fehlermledung: 30112015 ist das Tabellenblatt mit der Tabelle von meinem Screenshot was durchsucht werden soll.
er unterstreicht mir das WITH mit der Meldung:Fehler beim Kompilieren: "With Objekt muss ein benutzerdefinierten Typ oder den Typ Object oder Variant haben."
Ich habe eigentlich nur einen Button erstellt, dann rechtsklick Marko zu weisen, dann auf neu und es Pruefe_daten genannt.
Woran scheitere ich gerade? Bin leider erst seit paar Tagen daben :)
Sub Pruefe_Daten()
Dim mCount As Long
Dim mCol As Integer
With 30112015 ' Anpassen je nach Tabelle!!
For mCount = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
For mCol = 1 To 7
If .Cells(mCount, mCol).Value = "" Then
.Cells(mCount, mCol).Interior.ColorIndex = 6
Else
.Cells(mCount, mCol).Interior.ColorIndex = xlColorIndexNone
End If
Next
Next
End With

Viele Grüße
Roffel

Anzeige
AW: VBA zur Prüfung auf Vollständigkeit
15.09.2015 12:49:02
Rudi
Hallo,
und wenn nicht, wo etwas fällt.
warum sollte etwas fallen?
Sub aa()
dim r as range
for each r in cells(1,1).currentregion.columns(1)
if application.counta(r.resize(,7))7 then
msgbox "zeile "&r.row &" unvollständig"
application.goto r, true
exit for
next
end sub

Gruß
Rudi

AW: VBA zur Prüfung auf Vollständigkeit
15.09.2015 13:13:37
Roffel89
Hallo Rudi,
danke für deine Antwort. Ich teste gleich mal direkt.
Das mit dem " fallen " war nur ein Tastatur Fehler, es sollte fehlen heißen :)
Wie ist das den bei deinem Code mit der Zahl 7 gemeint? Wieso gerade 7?
Sub aa()
dim r as range
for each r in cells(1,1).currentregion.columns(1)
if application.counta(r.resize(,7))7 then
msgbox "zeile "&r.row &" unvollständig"
application.goto r, true
exit for
next
End Sub

VG

Anzeige
AW: VBA zur Prüfung auf Vollständigkeit
15.09.2015 13:18:08
Roffel89
bzw. Rudi,
in deinem Code muss ich noch sagen, in welchem Tabellenblatt es durchgeführt werden soll oder?
VG

AW: VBA zur Prüfung auf Vollständigkeit
15.09.2015 13:26:36
Rudi
wenn du nichts sagst, auf dem aktiven.

AW: VBA zur Prüfung auf Vollständigkeit
15.09.2015 13:28:59
Roffel89
k. Ich würde gerne sagen, dass es im Tabellenblatt 30112015 passiert.
Wie schreibe ich das dann?
Ganz am Ende hätte ich dann gerne, das es quasi, immer das drittletzte Tabellenblatt checkt, wie ich in meinem anderen Post geschrieben habe, aber lieber erstmal der Reihe nach:)
VG

Wieso gerade 7?
15.09.2015 13:20:42
Rudi
na, wegen dem tapferen Schneiderlein natürlich.
Oder weil 7 eine magische Zahl ist.
Oder weil A:G 7 Spalten sind. Wenn also Anzahl2 (CountA) 7 fehlt was.
Gruß
Rudi

Anzeige
AW: Wieso gerade 7?
15.09.2015 13:27:11
Roffel89
okay, ich merke es mir mit der "Magie" ;)
Muss ich vor deiner for Schleife sowas noch schreiben wie:
With 30112015 ' So heißt das Tabellenblatt
Oder wie mache ich das?
VG

AW: Wieso gerade 7?
15.09.2015 13:39:55
Rudi

Sub aa()
dim r as range
with Sheets("30112015")
for each r in .cells(1,1).currentregion.columns(1)
if application.counta(r.resize(,7))7 then
msgbox "zeile "&r.row &" unvollständig"
application.goto r, true
exit for
end if
next r
end with
end sub

AW: Wieso gerade 7?
15.09.2015 13:53:10
Roffel89
k Super Rudi!
Das immerhin klappt nun fast. Ich will in dem Tabellenblatt 30112015 die Spalten A bis H untersuchen, ob in den Spalten die Zellen jeweils ausgefüllt sind, soweit die Tabelle Einträge hat.
er bringt mir jetzt das die Zeile 1 direkt unvollständig ist, obwohl diese ausgefüllt ist.
Woran kann das liegen?
Sub Schaltfläche6_Klicken()
Dim r As Range
With Sheets("30112015")
For Each r In .Cells(1, 1).CurrentRegion.Columns(1)
If Application.CountA(r.Resize(, 8))  8 Then
MsgBox "zeile " & r.Row & " unvollständig"
Application.Goto r, True
Exit For
End If
Next r
End With
End Sub

VG

Anzeige
AW: Wieso gerade 7?
15.09.2015 14:24:37
Rudi
dann so:
For Each r In .Cells(1, 1).CurrentRegion.Columns(1).Cells
Gruß
Rudi

AW: Wieso gerade 7?
15.09.2015 14:35:06
Roffel89
k cool. Das hat jetzt geklappt Rudi.
Ein kleines Problem weniger. Besten Dank!

AW: Wieso gerade 7?
15.09.2015 17:01:56
Roffel89
Hey Rudi,
noch eine Frage zu diesem Thema:
Ich will das er mir, falls es vollständig ist eine Meldung zurück gibt. Allerdings gibt er mir jetzt immer diese Meldung zurück, auch wenn es unvollständig ist.
weißt du Rat?
Sub Schaltfläche6_Klicken()
Dim r As Range
With Sheets("30112015")
For Each r In .Cells(1, 1).CurrentRegion.Columns(1).Cells
If Application.CountA(r.Resize(, 8))  8 Then
MsgBox "zeile " & r.Row & " unvollständig"
Application.Goto r, True
Else
MsgBox "Datensatz vollständig"
Exit For
End If
Next r
End With
Worksheets("Summary").Select
End Sub

VG
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige