Hallo Leute,
mein Problem ist ich möchte aus einer beliebigen Excel-Datei das genaue Sheet auswählen und das Sheet auf einen Bereich (Bsp C20:F36) auf leeren Inhalt prüfen.
Ich kann dadurch jede beliebige Excel Datei wählen, der soll mir eine bestimmte Tabelle (Sheet) wählen und einen festgelegten Bereich (C20:F36) auf leere Zellen (kein Inhalt) prüfen. Zuerst sollen leere Zeilen nicht betrachtet werden. Danach sollen dann auf leere Zellen geprüft werden und am Ende ausgeben werden.
Für die erste Prüfung soll er eine „ganze“ Zeile in dem den Bereich (C20:F36) prüfen. Wenn Zeilen im Bereich leer sind, sind diese für mich nicht mehr wichtig. Ich betrachte also also 36-20=17 Zeilen, beispielsweise sind davon 5 leer, dies kann je nach Sheet varrieren. Ich habe also 16-5=12 Zeilen die ich nun betrachte.
Im zweiten Schritt soll nun geprüft werden, ob die Zeilen bzw. Tabelle leere Zellen aufweisen. Diese soll er mir am Ende ausgeben, am besten mit dem Namen der Spalte.
Konkretes Bsp:
Ich öffne die Excel Datei "Fahrzeugliste" aus der soll das Programm nun immer "Lenkrad" auswählen. Nun soll das Programm lediglich im Zellenbereich C20:F36 auf komplett leere Zeilen prüfen. Diese soll das Programm dann nicht mehr betrachten. Im nächsten Schritt soll das Programm dann im Zellenbereich ohne die leeren Zeilen auf leere Zellen prüfen. Am Ende soll beispielsweise eine Auflistung der leeren Zellen ausgegeben (aufgelistet) werden. Die Ausgabe der leeren Zellen soll so vereinfacht werden, dass der Spaltenname der Zelle genügt und die Anzahl der leeren Zellen dieser Spalte (Bsp: Airbag 3 leere Zellen, Schrauben 1 leere Zelle etc. oder keine leere Zellen)
Hier der Code den ich schon habe
Sub LeereZellen()
Dim i As Integer
Dim n As Integer
Dim k As Integer
Dim l As Integer
Dim strTemp As String
Dim strColumn As String
Dim a%
a = Application.WorksheetFunction.CountA([C20:F36])
If a > 0 Then
For i = 19 To 36
For n = 0 To 3
Select Case n
Case 0: strColumn = "C"
Case 1: strColumn = "D"
Case 2: strColumn = "E"
Case 3: strColumn = "F"
End Select
If Sheets("Lenkrad").Range(strColumn & i) = "" Then
strTemp = strTemp & strColumn & i & vbCrLf
End If
Next
Next
Call MsgBox("Die folgenden Zellen sind leer" & vbCrLf & vbCrLf & strTemp, vbOKOnly, "Leere Zellen")
Else: MsgBox "Leer"
End If
End Sub
Vielen Dank Ihr würdet mir sehr viel helfen, ich verzweifle schon...
Lg Thomas
|