Ich bin totaler VBA anfänger und bräuchte da mal hilfe.
Kann man einen array nicht mit einer If Anweisung auslesen?
In meiner Schleife werden Zeilen ausgelesen diese gehören alle zu einem Auftrag und der auftrag kann mehrer Positionen enthalten, die entweder bearbeitet wurden oder nicht. Ist er schon bearbeitet steht in der Zeile ein X. Das Array soll das für jede Position des Auftrags prüfen und speichern. Das funktioniert auch.
Doch ich wollte dann mit einer IF Anweisung rausbekommen ob mind. ein X im Array enthalten ist. Das funktioniert aber nicht...Wie könnte ich das lösen?
Dim zaehler As Long
Dim suche As Long
Dim durchlauf As Long
Dim a As Variant
Dim anzahl As Long
Dim fauf As Long
Dim aufnehmen As Variant
Dim wert(1 To 100) As Variant
Dim b As Variant
zaehler = 1
anzahl = Sheets("Daten").Cells(Rows.Count, 1).End(xlUp).Row
For durchlauf = 1 To anzahl
fauf = Sheets("Daten").Cells(zaehler, 14).Value
While zaehler <= anzahl
suche = Cells(zaehler, 14).Value
If suche = fauf Then
wert(zaehler) = Cells(zaehler, 8).Value '
zaehler = zaehler + 1
durchlauf = durchlauf + 1
Else: GoTo weiter
End If
Wend
weiter:
If wert = "X" Then
Cells(zaehler - 1, 23) = "angefangen"
zaehler = zaehler + 1
durchlauf = durchlauf + 1
Else: Cells(zaehler - 1, 23) = "nicht angefangen"
zaehler = zaehler + 1
durchlauf = durchlauf + 1
End If
Next durchlauf
End Sub
Kann man einen array nicht mit einer If Anweisung auslesen?
In meiner Schleife werden Zeilen ausgelesen diese gehören alle zu einem Auftrag und der auftrag kann mehrer Positionen enthalten, die entweder bearbeitet wurden oder nicht. Ist er schon bearbeitet steht in der Zeile ein X. Das Array soll das für jede Position des Auftrags prüfen und speichern. Das funktioniert auch.
Doch ich wollte dann mit einer IF Anweisung rausbekommen ob mind. ein X im Array enthalten ist. Das funktioniert aber nicht...Wie könnte ich das lösen?
Dim zaehler As Long
Dim suche As Long
Dim durchlauf As Long
Dim a As Variant
Dim anzahl As Long
Dim fauf As Long
Dim aufnehmen As Variant
Dim wert(1 To 100) As Variant
Dim b As Variant
zaehler = 1
anzahl = Sheets("Daten").Cells(Rows.Count, 1).End(xlUp).Row
For durchlauf = 1 To anzahl
fauf = Sheets("Daten").Cells(zaehler, 14).Value
While zaehler <= anzahl
suche = Cells(zaehler, 14).Value
If suche = fauf Then
wert(zaehler) = Cells(zaehler, 8).Value '
zaehler = zaehler + 1
durchlauf = durchlauf + 1
Else: GoTo weiter
End If
Wend
weiter:
If wert = "X" Then
Cells(zaehler - 1, 23) = "angefangen"
zaehler = zaehler + 1
durchlauf = durchlauf + 1
Else: Cells(zaehler - 1, 23) = "nicht angefangen"
zaehler = zaehler + 1
durchlauf = durchlauf + 1
End If
Next durchlauf
End Sub