Gerne.
Noch ein Hinweis. Deine Methode zur Ermittlung der zuletzt beschriebenen Zeile (bzw Zelle) funktioniert nur 'richtig', wenn durchgängig alle Zeilen beschrieben sind.
Hast Du Lücken dazwsichen, wirst Du mit einer falschen Zahl arbeiten (CountIf = Zählenwenn)
Anbei eine mögliche andere Variante.
Der Code prüft die letzte Zelle,
wenn diese nicht leer sein sollte, bekommste diese Zeilennummer (zwar unwahrscheinlich, dennoch möglich)
wenn diese leer ist, geht der Code solange nach oben, bis er eine beschriebene Zelle findet.
Diese Zeilennummer + 1 wird dann zurückgegeben.
Private Sub CommandButton1_Click()
Dim emptyRow As Long
Dim sSuchWert As String
Dim retV As Variant
Dim wks As Excel.Worksheet
'letzte freie Zeile in SPalte A finden
Set wks = ThisWorkbook.Worksheets("Tabelle3")
With wks
emptyRow = IIf(IsEmpty(.Cells(.Rows.Count, "A").Value), _
TruePart:=.Cells(.Rows.Count, "A").End(xlUp).Row + 1, _
FalsePart:=.Cells(.Rows.Count, "A").Row)
End With
sSuchWert = TextBox1.Value
If TextBox1.Value = "" Then MsgBox "Bitte Namen eingeben!": Exit Sub
retV = Application.Match(sSuchWert, myRange, 0)
If Not IsError(retV) Then
MsgBox "Du hast schon abgestimmt!"
Else
'fügt den eingegebenen Text in die nächste leere Zelle in Spalte A ein
myRange.Cells(emptyRow, 1).Value = TextBox1.Value
'Formular laden
TeamEvent2020.Show
End If
End Sub
|