Halli Hallo,
ich hab ein kleines Problem mit meinem VBA-Code und komme absolut nicht weiter.
Ich brauche die globale Variable
introw
Diese habe ich schon deklariert:
Public introw As Integer
Um diese Variable zu bilden, habe ich schon folgenden Code:
Sub LetzteLeereZelleSuchen()
' letzte leere Zelle suchen
Dim introw As Integer
introw = 2 'ab 2. Zeile gehts los
Do While Tabelle2.Cells(introw, 1) ""
'(Zeile, Spalte)
introw = introw + 1 'eine Zeile weiter
Loop
End Sub
Dieser Code sucht die letzte leere Zeile in einer Tabelle. Das muss auch jedesmal wieder passieren wenn der Button geklickt wird, denn die Zeile ändert sich immer.
Den Code habe ich in der entsprechenden SUB aufgerufen. Das funktioniert auch soweit.
hier das eigentliche Problem:
Im nächsten Schritt rufe ich dann eine andere Prozedur aus einem Modul auf, welche dann mit dem Wert
introw
arbeiten soll.
Das funktioniert aber nicht so richtig…
Hier der Auszug der Prozedur aus dem Modul:
Sub PruefenObEintragSchonVorhanden()
'Prüfen ob Eintrag schon vorhanden
For i = 1 To introw Step 1
With Tabelle2
If .Cells(i, 1).Value = UserForm1.t3 \_
And .Cells(i, 2).Value = UserForm1.t1 \_
And .Cells(i, 3).Value = UserForm1.t2 \_
And .Cells(i, 4).Value = UserForm1.t4 \_
And .Cells(i, 5).Value = UserForm1.t5 \_
And .Cells(i, 6).Value = UserForm1.t6 Then
'Textfenster mit Hinweis + Auswahl Wiederholen / Abbrechen
meldung = MsgBox("Diesen Eintrag gibts schonmal!" & vbLf & vbLf & \_
"Wie soll es jetzt weiter gehen?" & vbLf & vbLf & \_
"Wiedeholen löscht die aktuelle Eingabe," & vbLf & \_
"Abbrechen schließt das ganze Fenster der Adresseingabe", \_
vbInformation + vbRetryCancel, "Doppelt gemoppelt !")
If meldung = vbRetry Then
' Zeilen löschen
UserForm1.t1 = ""
UserForm1.t2 = ""
UserForm1.t3 = ""
UserForm1.t4 = ""
UserForm1.t5 = ""
UserForm1.t6 = ""
'Fokus setzen für neuen Versuch
t1.SetFocus
Else
UserForm1.Hide
'Tabelle1.Select
End If
End If
End With
Next i
End Sub
Diese Prozedur bricht nach der Zeile
for i=1 to introw step 1
jedesmal ab und geht direkt zu end. Ich habe die Vermutung, dass kommt weil sie mit introw nix anfagen kann.? Anders kann ichs mir nicht erklären, denn der Code läuft eigentlich, wenn ich ihn lokal in die entsprechende SUB einfüge.
Bitte helft mir. Komm absolut nicht weiter.
LG Uschi