ich habe folgenen Code in meiner UserForm_NeuerEintrag:
Private Sub CommandButton_Übernehmen_Click()
Dim last As Long
Dim missingFields As String
Dim lightRedColor As Long
' Helle Rotfarbe (255, 204, 204)
lightRedColor = RGB(255, 204, 204)
' Überprüfen und Markieren der leeren erforderlichen Felder
If UserForm_NeuerEintrag.TextBox_Name.Value = "" Then
missingFields = missingFields & "Name, "
UserForm_NeuerEintrag.TextBox_Name.BackColor = lightRedColor
Else
UserForm_NeuerEintrag.TextBox_Name.BackColor = RGB(255, 255, 255) ' Standard-Hintergrund
End If
If UserForm_NeuerEintrag.TextBox_Typ.Value = "" Then
missingFields = missingFields & "Typ, "
UserForm_NeuerEintrag.TextBox_Typ.BackColor = lightRedColor
Else
UserForm_NeuerEintrag.TextBox_Typ.BackColor = RGB(255, 255, 255)
End If
If UserForm_NeuerEintrag.TextBox_PIN.Value = "" Then
missingFields = missingFields & "PIN, "
UserForm_NeuerEintrag.TextBox_PIN.BackColor = lightRedColor
Else
UserForm_NeuerEintrag.TextBox_PIN.BackColor = RGB(255, 255, 255)
End If
If UserForm_NeuerEintrag.TextBox_KartenNr.Value = "" Then
missingFields = missingFields & "KartenNr, "
UserForm_NeuerEintrag.TextBox_KartenNr.BackColor = lightRedColor
Else
UserForm_NeuerEintrag.TextBox_KartenNr.BackColor = RGB(255, 255, 255)
End If
If UserForm_NeuerEintrag.TextBox_Standort.Value = "" Then
missingFields = missingFields & "Standort, "
UserForm_NeuerEintrag.TextBox_Standort.BackColor = lightRedColor
Else
UserForm_NeuerEintrag.TextBox_Standort.BackColor = RGB(255, 255, 255)
End If
' Überprüfen, ob fehlende Felder vorhanden sind
If missingFields > "" Then
missingFields = Left(missingFields, Len(missingFields) - 2)
MsgBox "Bitte füllen Sie folgende erforderlichen Felder aus: " & missingFields
Exit Sub
End If
last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
' Zurücksetzen der Hintergrundfarben aller Textboxen
UserForm_NeuerEintrag.TextBox_Name.BackColor = RGB(255, 255, 255)
UserForm_NeuerEintrag.TextBox_Typ.BackColor = RGB(255, 255, 255)
UserForm_NeuerEintrag.TextBox_PIN.BackColor = RGB(255, 255, 255)
UserForm_NeuerEintrag.TextBox_KartenNr.BackColor = RGB(255, 255, 255)
UserForm_NeuerEintrag.TextBox_Standort.BackColor = RGB(255, 255, 255)
' Daten in die Tabelle eintragen
ActiveSheet.Cells(last, 1).Value = UserForm_NeuerEintrag.TextBox_KartenNr.Value
ActiveSheet.Cells(last, 2).Value = UserForm_NeuerEintrag.TextBox_PIN.Value
ActiveSheet.Cells(last, 3).Value = UserForm_NeuerEintrag.TextBox_TelefonNr.Value
ActiveSheet.Cells(last, 4).Value = UserForm_NeuerEintrag.TextBox_Tarif.Value
ActiveSheet.Cells(last, 5).Value = UserForm_NeuerEintrag.TextBox_Name.Value
ActiveSheet.Cells(last, 6).Value = UserForm_NeuerEintrag.TextBox_Typ.Value
ActiveSheet.Cells(last, 7).Value = UserForm_NeuerEintrag.TextBox_Standort.Value
ActiveSheet.Cells(last, 8).Value = UserForm_NeuerEintrag.TextBox_Info.Value
ActiveSheet.Cells(last, 9).Value = UserForm_NeuerEintrag.TextBox_Rückgabe.Value
ActiveSheet.Cells(last, 10).Value = UserForm_NeuerEintrag.TextBox_Inventur.Value
' UserForm schließen
Unload UserForm_NeuerEintrag
End Sub
dieser funktioniert Einwandfrei. Ich gebe meine Werte ein, sie werden in die entsprechende Zelle eingefügt.
Ich habe eine zweite UserForm erstellt "UserForm_EintragSuchen", mit der sich die gleiche Maske öffnet wie in der UserForm_NeuerEintrag.
Ich bekomme es aber leider einfach nicht hin diese Suchfunktion richtig einzurichten.
Hier ist mein bisheriger Code:
Private Sub CommandButton_Suchen_Click()
Dim ws As Worksheet
Dim searchTerm As String
Dim foundCell As Range
' Arbeitsblatt in dem Gesucht werden soll definieren
Set ws = ThisWorkbook.Worksheets("Inventar")
' Suchbegriff aus der TextBox lesen
searchTerm = Me.TextBox_KartenNr2.Value
' Begriff in der ersten Spalte (Spalte A) des Arbeitsblatts suchen
Set foundCell = ws.Columns(1).Find(What:=searchTerm, LookIn:=xlValues, LookAt:=xlWhole)
' Wenn der Begriff gefunden wurde, Zelle markieren
If Not foundCell Is Nothing Then
foundCell.EntireRow.Select
Else
MsgBox "Der Suchbegriff wurde nicht gefunden."
End If
' Schließen des Such-UserForm
Unload Me
End Sub
Ich gebe in dieser UserForm einen Wert in das Textfeld "TextBox_KartenNr2" ein, dieser wird gefunden, und die komplette Zeile wird markiert.
Leider bekomme ich es nicht hin das für alle anderen Textboxen zu übernehmen. Ich habe diverse Methoden getestet, hier wurde aber immer nur Zelle A1, bzw Spalte 1 markiert, wenn ich in eine andere Textbox ausser TextBox_KartenNr2 etwas geschrieben habe.