Private Sub Schleife()
Dim Zeile As Integer
For Zeile = 4 To 10000
If Cells(Zeile, 16) = Range("H1") Then Send_Excel_Message(Zeile)
Next Spalte
End Sub
Modul:
Sub Send_Excel_Message(ZeilenIndex As Integer)
'...
Vorname = Cells(ZeilenIndex, 21) 'verständlicher wäre > Cells(ZeilenIndex, "U").Value
Nachname = Cells(ZeilenIndex, 22) 'verständlicher wäre > Cells(ZeilenIndex, "V").Value
End Sub
Zu beachten wäre in diesem Fall:
Wenn man innerhalb der Prozedur Send_Excel_Message den Wert von ZeilenIndex ändert, ändert sich auch der Wert in Prozedur Schleife von der Variable Zeile dementsprechend.
Wenn man dieses Verhalten nicht möchte, muss man schreiben:
Sub Send_Excel_Message(ByVal ZeilenIndex As Integer)
Gruß
PS: Der Datentyp Integer ist nicht groß genug um alle Zeilenindizes aufzunehmen -> daher mein Rat: Nutze stattdessen den Datentyp Long.
|