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

Vollständigkeitsabfrage

Vollständigkeitsabfrage
Erik
Hallo zusammen,
ich würde gern per VBA-Button ne Vollständigkeitsabfrage starten. Es funktioniert alles so weit aber nun möchte ich gern eine ODER-Funktion mit einbauen.
Ich habe zwei spalten mit Werten oder mit einem n.b.:
A: 1,2,3
B: 3,4,5
nun soll per VBA ne Abfrage starten: wenn alle 6-Werte vorhanden sind, dann kreuzchen bei "Vollständig".
wenn nur bei A alle 3 Werte vorhanden sind soll ebenfalls ein "Vollständig" kommen (gleiches bei B).
Wenn nun aber ein "n.b." z.b. in B2 auftaucht (B: 1,"n.b.",3) soll die Abfrage bei "Unvollständig" einen Kreuzchen setzen. Wenn A oder B komplett mit "n.b." ausgefüllt ist, soll ein kreuzchen bei "nicht durchgeführt" erscheinen.
Die einfache abfrage ohne die Unterscheidung der beiden Spalten funktioniert!
Das ist mein Stand der Dinge:
If Sheets("A").Cells(1, 1).Value = "n.b." And _
Sheets("A").Cells(2, 1).Value = "n.b." And _
Sheets("A").Cells(3, 1).Value = "n.b." And _
Sheets("A").Cells(1, 2).Value = "n.b." And _
Sheets("A").Cells(2, 2).Value = "n.b." And _
Sheets("A").Cells(3, 2).Value = "n.b." Then
Sheets("B").Cells(1, 1).Value = "x" 'nicht durchgeführt
End If
If Sheets("B").Cells(1, 1).Value = "" Then
If Sheets("A").Cells(1, 1).Value = "n.b." Or _
Sheets("A").Cells(2, 1).Value = "n.b." Or _
Sheets("A").Cells(3, 1).Value = "n.b." Or _
Sheets("A").Cells(1, 2).Value = "n.b." Or _
Sheets("A").Cells(2, 2).Value = "n.b." Or _
Sheets("A").Cells(3, 2).Value = "n.b." Then
Sheets("B").Cells(1, 2).Value = "x" 'Unvollständig
End If
End If
If Sheets("B").Cells(1, 1).Value = "" And _
Sheets("B").Cells(1, 2).Value = "" Then
Sheets("B").Cells(1, 3).value = "x" 'Vollständig
End If
Kann mir jemand helfen?
Danke im Voraus.
Gruß Erik

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Vollständigkeitsabfrage
28.05.2012 22:02:12
fcs
Hallo Erik,
ich hab es jetzt etwas anders aufgezogen.
die Zustände in den beiden Bereichen (leer, alles "n.g.", Anzahl "n.g ."&gt0, alles Ausgefüllt) werden ermittelt und in Variablen gespeichert.
Anschliessend werden die Ergbisse in den beiden Bereichen kombiniert ( mit And oder Or) und ein x in eine der 3 Zellen eingetragen.
Du muss noch festlegen, was passieren soll wenn beide Bereich leer sind.
Gruß
Franz
Function CheckEingabe()
Dim wksA As Worksheet, wksB As Worksheet
Dim Anzahl_NB As Integer
Dim bolA As Boolean, bolA_Leer As Boolean, bolA_NB As Boolean, bolA_All_NB As Boolean
Dim bolB As Boolean, bolB_Leer As Boolean, bolB_NB As Boolean, bolB_All_NB As Boolean
Set wksA = Worksheets("A")
Set wksB = Worksheets("B")
With wksA
With .Range(.Cells(1, 1), .Cells(3, 1))
Anzahl_NB = Application.WorksheetFunction.CountIf(.Cells, "n.b.")
If Anzahl_NB = .Cells.Count Then
bolA_All_NB = True
bolA_NB = True
ElseIf Anzahl_NB > 0 Then
bolA_NB = True
Else
bolA = Application.WorksheetFunction.CountA(.Cells) = .Cells.Count
bolA_Leer = Application.WorksheetFunction.CountA(.Cells) = 0
End If
End With
With .Range(.Cells(1, 2), .Cells(3, 2))
Anzahl_NB = Application.WorksheetFunction.CountIf(.Cells, "n.b.")
If Anzahl_NB = .Cells.Count Then
bolB_All_NB = True
bolB_NB = True
ElseIf Anzahl_NB > 0 Then
bolB_NB = True
Else
bolB = Application.WorksheetFunction.CountA(.Cells) = .Cells.Count
bolB_Leer = Application.WorksheetFunction.CountA(.Cells) = 0
End If
End With
End With
With wksB
.Cells(1, 1).ClearContents
.Cells(1, 2).ClearContents
.Cells(1, 3).ClearContents
If bolA_All_NB And bolB_All_NB Then
.Cells(1, 1).Value = "x" 'nicht durchgeführt
ElseIf bolA And bolB Then
.Cells(1, 3).Value = "x" 'Vollständig
ElseIf (bolA And bolB_Leer) Or (bolB And bolA_Leer) Then
.Cells(1, 3).Value = "x" 'Vollständig
ElseIf bolA_NB Or bolB_NB Then
.Cells(1, 2).Value = "x" 'Unvollständig
ElseIf bolA_Leer And bolB_Leer Then
.Cells(1, 1).Value = "x?" 'nicht durchgeführt?
End If
End With
End Function

Anzeige
AW: Vollständigkeitsabfrage
29.05.2012 10:12:12
Erik
Danke dir erstmal für deine Mühe.
Jetzt heißt es erstmal dahinter steigen und verstehen ^^.
Gruß Erik

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige