Zalatschenko
Cadet 2nd Year
- Registriert
- Dez. 2019
- Beiträge
- 24
Hallo zusammen
Ich komme trotz Google nicht mehr weiter....
Ich bekomme den Error 91 in eine Do While Schlaufe. Ich habe jedoch alle Variabeln klar deffiniert zu beginn.
Ausgeführt wird über einen Sub gestartet welcher einen Namen sowie die Persöhnliche Spalte auf mitübergibt.
Danach soll folgende Funktionen ausgeführt werden.
Dieser Loop im Loop im Loop läuft einmalig fehlerfrei ab. Ich konnte auch die einzelnen Funktionen über Message Boxen testen und es scheint auch alles zu funktionieren (bis auf den folgenden Teil).
Das ganze schlägt nach dem ersten Durchlauf fehl und dies in folgender Funktion:
Diese Zeile ist Markiert.
Der Fehlercode ist #91 Object-Variabel oder With- Blockvariabel nicht deffiniert. Jedoch habe ich meiner Meinung nach alles deffiniert. Ebenfalls ist der SUCH_GRUND Leer obwohl er weitere ergebnisse finden sollte.
Ich versteh aber nicht wieso. Alle Variabeln sind deffiniert. Die anderen Loops funktionieren ohne Probleme. Wieso also nicht der. Er ist genau gleich.....
Hoffe jemand sieht was ich falsch mache.
Danke schon im vorraus.
Ich komme trotz Google nicht mehr weiter....
Ich bekomme den Error 91 in eine Do While Schlaufe. Ich habe jedoch alle Variabeln klar deffiniert zu beginn.
Ausgeführt wird über einen Sub gestartet welcher einen Namen sowie die Persöhnliche Spalte auf mitübergibt.
Danach soll folgende Funktionen ausgeführt werden.
Code:
Sub CREATE_PRIV_TAB(PName As String)
Dim test As Boolean
Dim d As Integer
Dim Number As Integer
Dim b As Integer
Dim c As Integer
Dim i As Integer
Dim i2 As Integer
Dim WERT2 As String
Dim Wert3 As String
Dim WERT As String
Dim NextRow As String
Dim SPALTE_PERSON As Integer
'd = Tabelle11.Range([TechnPlatzBezeichng ]).End(xlUp).Row
WERT = "TEST"
SPALTE_PERSON = CInt(PERS_ZU_NUMM(PName))
d = 10
test = ERSTELLEN_DER_PERSONEN(SPALTE_PERSON, PName)
End Sub
Function ERSTELLEN_DER_PERSONEN(SPALTE_PERSON As Integer, PName As String) As Boolean
' DEFFINIERUNG DER VARIABELN
Dim test As Boolean
Dim i As Integer
Dim i2 As Integer
Dim d As Integer
Dim WERT As String
Dim SPALTE_P As Integer
' DEFFINIEREN DER STARTVARIABELN
i = 2
d = 11
WERT = "go"
SPALTE_P = SPALTE_PERSON
' FUNKTION
Do Until i >= d
WERT = Tabelle3.Cells(i, SPALTE_P).Value
If Not WERT = "" Then
test = SUCHEN_GESAMT(WERT, PName)
End If
i = i + 1
Loop
ERSTELLEN_DER_PERSONEN = True
End Function
Function SUCHEN_GESAMT(WERT As String, PName As String) As Boolean
' DEFFINIERUNG DER VARIABELN
Dim test As Boolean
Dim SUCH_GRUND As Variant
Dim SUCHEN_WAS As String
Dim i2 As Integer
Dim firstAddress2 As String
Dim SPALTETECH As Integer
' DEFFINIEREN DER STARTVARIABELN
' FUNKTION
With Tabelle4.Columns(2)
Set SUCH_GRUND = .Find(What:=WERT, LookIn:=xlValues) ', LookAt:=xlWhole
If Not SUCH_GRUND Is Nothing Then
firstAddress2 = SUCH_GRUND.Address
Do
i2 = CInt(SUCH_GRUND.Row)
SUCHEN_WAS = Tabelle4.Cells(i2, 1).Value
' MsgBox (SUCHEN_WAS)
test = SUCHEN_EINZELN(SUCHEN_WAS, PName)
Set SUCH_GRUND = .FindNext(after:=SUCH_GRUND)
' MsgBox (CStr(SUCH_GRUND.Address))
Loop While Not SUCH_GRUND Is Nothing And SUCH_GRUND.Address <> firstAddress2
End If
End With
SUCHEN_GESAMT = True
End Function
Function SUCHEN_EINZELN(SUCHEN_WAS As String, Optional PName As String) As Boolean
Dim test As Boolean
Dim c As Integer
Dim SPALTENBEREICH As Range
Dim firstAddress3 As String
With Tabelle11.Columns(5)
Set SEARCH2 = .Find(What:=SUCHEN_WAS, LookIn:=xlValues, LookAt:=xlWhole)
If Not SEARCH2 Is Nothing Then
firstAddress3 = SEARCH2.Address
Do
c = SEARCH2.Row
' MsgBox (c)
test = KOPIEREN_DER_SPALTEN(c, PName)
Set SEARCH2 = .FindNext(after:=SEARCH2)
' If SEARCH2 Is Nothing Then Exit Do
Loop While Not SEARCH2 Is Nothing And SEARCH2.Address <> firstAddress3
End If
End With
SUCHEN_EINZELN = True
End Function
Function KOPIEREN_DER_SPALTEN(c As Integer, PName As String) As Boolean
NextRow = Sheets(PName).Range("B" & Rows.Count).End(xlUp).Row + 1
Tabelle11.Rows(c).Copy Destination:=Sheets(PName).Rows(NextRow)
End Function
Dieser Loop im Loop im Loop läuft einmalig fehlerfrei ab. Ich konnte auch die einzelnen Funktionen über Message Boxen testen und es scheint auch alles zu funktionieren (bis auf den folgenden Teil).
Das ganze schlägt nach dem ersten Durchlauf fehl und dies in folgender Funktion:
Code:
Function SUCHEN_GESAMT(WERT As String, PName As String) As Boolean
' DEFFINIERUNG DER VARIABELN
Dim test As Boolean
Dim SUCH_GRUND As Variant
Dim SUCHEN_WAS As String
Dim i2 As Integer
Dim firstAddress2 As String
Dim SPALTETECH As Integer
' DEFFINIEREN DER STARTVARIABELN
' FUNKTION
With Tabelle4.Columns(2)
Set SUCH_GRUND = .Find(What:=WERT, LookIn:=xlValues) ', LookAt:=xlWhole
If Not SUCH_GRUND Is Nothing Then
firstAddress2 = SUCH_GRUND.Address
Do
i2 = CInt(SUCH_GRUND.Row)
SUCHEN_WAS = Tabelle4.Cells(i2, 1).Value
' MsgBox (SUCHEN_WAS)
test = SUCHEN_EINZELN(SUCHEN_WAS, PName)
Set SUCH_GRUND = .FindNext(after:=SUCH_GRUND)
' MsgBox (CStr(SUCH_GRUND.Address))
Loop While Not SUCH_GRUND Is Nothing And SUCH_GRUND.Address <> firstAddress2
End If
End With
SUCHEN_GESAMT = True
End Function
Code:
Loop While Not SUCH_GRUND Is Nothing And SUCH_GRUND.Address <> firstAddress2
Der Fehlercode ist #91 Object-Variabel oder With- Blockvariabel nicht deffiniert. Jedoch habe ich meiner Meinung nach alles deffiniert. Ebenfalls ist der SUCH_GRUND Leer obwohl er weitere ergebnisse finden sollte.
Ich versteh aber nicht wieso. Alle Variabeln sind deffiniert. Die anderen Loops funktionieren ohne Probleme. Wieso also nicht der. Er ist genau gleich.....
Hoffe jemand sieht was ich falsch mache.
Danke schon im vorraus.