(09.06.2017, 08:25)atilla schrieb: Nun zu Deiner Frage, was soll im einzelnen auftauchen?
Mit obigen Code werden die Überschriften gelistet. Ich gehe davon aus , dass sich in Zeile 1 Überschriften befinden.
Es werden Spalten A und D:j untersucht.
Was soll erscheinen, wenn in Spalte A leere, was wenn Spalte D, Spalte E usw...
Genau, in der Zeile 1 sind die jeweiligen Überschriften zu finden.
Folgender Text so jeweils erscheinen:
Spalte A: Die Nummerierung ist nicht vollständig
Spalte D: Die Betitelung ist nicht vollständig
Spalte E: Die Bewertung ist nicht vollständig
Spalte F: Die Bezeichnung ist nicht vollständig
Spalte G: Das Department fehlt
Spalte H: Die Wirkung ist nicht vollständig
Spalte I: Die Abteilung fehlt
09.06.2017, 09:33 (Dieser Beitrag wurde zuletzt bearbeitet: 09.06.2017, 09:33 von atilla.)
Hallo joshua,
dann so:
Code:
Sub Vollständigkeits_Prüfung()
Dim LastRow As Long, j As Long, n As Long
Dim x
Dim ati, frage
Dim boVar As Boolean
Dim varText
Dim strgText As String
strgText = "Leere Zellen in:"
varText = Array("Die Nummerierung ist nicht vollständig", "Die Betitelung ist nicht vollständig", "Die Bewertung ist nicht vollständig", "Die Bezeichnung ist nicht vollständig", "Das Department fehlt", "Die Wirkung ist nicht vollständig", "Die Abteilung fehlt")
With Sheets("tblOne")
LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row
ati = Range("A1:I" & LastRow)
For j = 1 To 10
If Application.CountA(Application.Index(ati, , j)) <> LastRow Then
boVar = True
strgText = strgText & vbLf & Space(5) & varText(n)
n = n + 1
End If
If j = 1 Then j = 3
Next j
End With
If boVar Then
frage = MsgBox(strgText & vbLf & vbLf & "Möchten Sie dennoch weitermachen?", vbYesNoCancel, "Ich habe da mal eine Frage...")
If frage = vbYes Then
'hier geht es weiter bei "Ja"
ElseIf frage = vbNo Then
'hier geht es weiter bei "Nein"
ThisWorkbook.Close True 'mit speichern der Änderungen
Else
'hier geht es weiter bei "Abbrechen"
End If
End If
End Sub
nicht wie oben sondern so:
Code:
Sub Vollständigkeits_Prüfung()
Dim LastRow As Long, j As Long, n As Long
Dim x
Dim ati, frage
Dim boVar As Boolean
Dim varText
Dim strgText As String
strgText = "Leere Zellen in:"
varText = Array("Die Nummerierung ist nicht vollständig", "Die Betitelung ist nicht vollständig", "Die Bewertung ist nicht vollständig", "Die Bezeichnung ist nicht vollständig", "Das Department fehlt", "Die Wirkung ist nicht vollständig", "Die Abteilung fehlt")
With Sheets("tblOne")
LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row
ati = Range("A1:I" & LastRow)
For j = 1 To 9
If Application.CountA(Application.Index(ati, , j)) <> LastRow Then
boVar = True
strgText = strgText & vbLf & Space(5) & varText(n)
End If
If j = 1 Then j = 3
n = n + 1
Next j
End With
If boVar Then
frage = MsgBox(strgText & vbLf & vbLf & "Möchten Sie dennoch weitermachen?", vbYesNoCancel, "Ich habe da mal eine Frage...")
If frage = vbYes Then
'hier geht es weiter bei "Ja"
ElseIf frage = vbNo Then
'hier geht es weiter bei "Nein"
ThisWorkbook.Close True 'mit speichern der Änderungen
Else
'hier geht es weiter bei "Abbrechen"
End If
End If
End Sub
Gruß Atilla
Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:1 Nutzer sagt Danke an atilla für diesen Beitrag 28 • joshua
Der Code funktioniert schonmal, leider werden aber nicht alle entsprechenden Texte angezeigt.
Anbei ist einmal eine Musterdatei.
Obwohl Spalte A und D:I leer sind (Zeile 2-4) wird mir nur der erste Text angezeigt (Nummerierung fehlt).
Wo liegt mein Fehler?
bei mir sieht es so aus:[ Bild bitte so als Datei hochladen: Klick mich! ]
du musst in dieser Zeile:
Code:
varText = Array("Die Nummerierung ist nicht vollständig", "Die Betitelung ist nicht vollständig", "Die Bewertung ist nicht vollständig", "Die Bezeichnung ist nicht vollständig", "Das Department fehlt", "Die Wirkung ist nicht vollständig", "Die Abteilung fehlt")
Die Bezeichnung entsprechend der Reihenfolge in der Tabelle auflisten.
(09.06.2017, 09:33)atilla schrieb: nicht wie oben sondern so:
Code:
Sub Vollständigkeits_Prüfung()
Dim LastRow As Long, j As Long, n As Long
Dim x
Dim ati, frage
Dim boVar As Boolean
Dim varText
Dim strgText As String
strgText = "Leere Zellen in:"
varText = Array("Die Nummerierung ist nicht vollständig", "Die Betitelung ist nicht vollständig", "Die Bewertung ist nicht vollständig", "Die Bezeichnung ist nicht vollständig", "Das Department fehlt", "Die Wirkung ist nicht vollständig", "Die Abteilung fehlt")
With Sheets("tblOne")
LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row
ati = Range("A1:I" & LastRow)
For j = 1 To 9
If Application.CountA(Application.Index(ati, , j)) <> LastRow Then
boVar = True
strgText = strgText & vbLf & Space(5) & varText(n)
End If
If j = 1 Then j = 3
n = n + 1
Next j
End With
If boVar Then
frage = MsgBox(strgText & vbLf & vbLf & "Möchten Sie dennoch weitermachen?", vbYesNoCancel, "Ich habe da mal eine Frage...")
If frage = vbYes Then
'hier geht es weiter bei "Ja"
ElseIf frage = vbNo Then
'hier geht es weiter bei "Nein"
ThisWorkbook.Close True 'mit speichern der Änderungen
Else
'hier geht es weiter bei "Abbrechen"
End If
End If
End Sub
Ok, mit folgendem Code funktioniert nun garnichts mehr :/
Gehe zwar mit F8 alles durch, verstehe nun aber garnichts mehr ...
Die Bezeichnung entsprechend der Reihenfolge ist von dir ja bereits korrekt, hier müsste ich doch nicht mehr machen, richtig?
so sieht es in Deiner .xlsm Datei nach Codeausführung aus:
[ Bild bitte so als Datei hochladen: Klick mich! ]
Ich weiß nicht, was Du machst, und was Du erwartest, was da wann passieren soll.
Der Code muss manuell oder per Schaltfläche gestartet werden, dass ist Dir klar?
ich beziehe mich auf die Datei aus Post #15.
Ich bin nun Zuhause am Rechner und habe versucht die Prozedur zu starten.
Leider ohne Erfolg...
Irgendwas stimmt hier doch nicht. Mag vielleicht jemand anderes die Datei und den Code bei sich mal checken?
Gehe die ganze Zeit mit F8 durch, kann aber den Fehler nicht identifizieren