Private Sub CommandButtonSuchen_Click()
Dim ws As Worksheet
Dim searchValue As String
Dim searchRange As Range
Dim foundCell As Range
Dim foundRow As Long
' Arbeitsblatt mit den Daten
Set ws = ThisWorkbook.Sheets("Übersicht Kompanie")
' Suchwert aus dem Textfeld lesen
searchValue = TextBoxSuchen.Value
' Suchbereich festlegen
Set searchRange = ws.Range("D2:ST2")
' Nach dem Suchwert in der Suchrange suchen
Set foundCell = searchRange.Find(What:=searchValue, LookIn:=xlValues, LookAt:=xlWhole)
' Wenn der Suchwert gefunden wurde
If Not foundCell Is Nothing Then
' Zeile der gefundenen Zelle ermitteln
foundRow = foundCell.Row
' Inhalt unterhalb der Zeile 2 anzeigen
TextBoxAnzeigen.Value = ws.Cells(foundRow, 4).Offset(1).Value
TextBoxAnzeigen2.Value = ws.Cells(foundRow, 4).Offset(2).Value
TextBoxAnzeigen3.Value = ws.Cells(foundRow, 4).Offset(3).Value
TextBoxAnzeigen4.Value = ws.Cells(foundRow, 4).Offset(4).Value
TextBoxAnzeigen5.Value = ws.Cells(foundRow, 4).Offset(5).Value
TextBoxAnzeigen6.Value = ws.Cells(foundRow, 4).Offset(6).Value
TextBoxAnzeigen7.Value = ws.Cells(foundRow, 4).Offset(7).Value
TextBoxAnzeigen8.Value = ws.Cells(foundRow, 4).Offset(8).Value
TextBoxAnzeigen9.Value = ws.Cells(foundRow, 4).Offset(9).Value
TextBoxAnzeigen10.Value = ws.Cells(foundRow, 4).Offset(10).Value
TextBoxAnzeigen11.Value = ws.Cells(foundRow, 4).Offset(11).Value
TextBoxAnzeigen12.Value = ws.Cells(foundRow, 4).Offset(12).Value
TextBoxAnzeigen13.Value = ws.Cells(foundRow, 4).Offset(13).Value
TextBoxAnzeigen14.Value = ws.Cells(foundRow, 4).Offset(14).Value
TextBoxAnzeigen15.Value = ws.Cells(foundRow, 4).Offset(15).Value
TextBoxAnzeigen16.Value = ws.Cells(foundRow, 4).Offset(16).Value
TextBoxAnzeigen17.Value = ws.Cells(foundRow, 4).Offset(17).Value
TextBoxAnzeigen18.Value = ws.Cells(foundRow, 4).Offset(18).Value
TextBoxAnzeigen19.Value = ws.Cells(foundRow, 4).Offset(19).Value
TextBoxAnzeigen20.Value = ws.Cells(foundRow, 4).Offset(20).Value
TextBoxAnzeigen21.Value = ws.Cells(foundRow, 4).Offset(21).Value
TextBoxAnzeigen22.Value = ws.Cells(foundRow, 4).Offset(22).Value
TextBoxAnzeigen23.Value = ws.Cells(foundRow, 4).Offset(23).Value
TextBoxAnzeigen24.Value = ws.Cells(foundRow, 4).Offset(24).Value
TextBoxAnzeigen25.Value = ws.Cells(foundRow, 4).Offset(25).Value
TextBoxAnzeigen26.Value = ws.Cells(foundRow, 4).Offset(26).Value
TextBoxAnzeigen27.Value = ws.Cells(foundRow, 4).Offset(27).Value
TextBoxAnzeigen28.Value = ws.Cells(foundRow, 4).Offset(28).Value
TextBoxAnzeigen29.Value = ws.Cells(foundRow, 4).Offset(29).Value
TextBoxAnzeigen30.Value = ws.Cells(foundRow, 4).Offset(30).Value
TextBoxAnzeigen31.Value = ws.Cells(foundRow, 4).Offset(31).Value
TextBoxAnzeigen32.Value = ws.Cells(foundRow, 4).Offset(32).Value
TextBoxAnzeigen33.Value = ws.Cells(foundRow, 4).Offset(33).Value
TextBoxAnzeigen34.Value = ws.Cells(foundRow, 4).Offset(34).Value
' Eingabefeld aktivieren
TextBoxAnzeigen.Enabled = True
' Änderungsmodus aktivieren
CommandButtonÄndern.Enabled = True
Else
' Wenn der Suchwert nicht gefunden wurde, Meldung anzeigen
MsgBox "Der Suchwert wurde nicht gefunden."
' Eingabefeld zurücksetzen
TextBoxAnzeigen.Value = ""
' Eingabefeld deaktivieren
TextBoxAnzeigen.Enabled = False
' Änderungsmodus deaktivieren
CommandButtonÄndern.Enabled = False
End If
End Sub
Private Sub CommandButtonÄndern_Click()
Dim ws As Worksheet
Dim searchValue As String
Dim searchRange As Range
Dim foundCell As Range
Dim foundRow As Long
' Arbeitsblatt mit den Daten
Set ws = ThisWorkbook.Sheets("Übersicht Kompanie")
' Suchwert aus dem Textfeld lesen
searchValue = TextBoxSuchen.Value
' Suchbereich festlegen
Set searchRange = ws.Range("D2:ST2")
' Nach dem Suchwert in der Suchrange suchen
Set foundCell = searchRange.Find(What:=searchValue, LookIn:=xlValues, LookAt:=xlWhole)
' Wenn der Suchwert gefunden wurde
If Not foundCell Is Nothing Then
' Zeile der gefundenen Zelle ermitteln
foundRow = foundCell.Row
' Inhalt unterhalb der Zeile 2 ändern
ws.Cells(foundRow, 4).Offset(1).Value = TextBoxAnzeigen.Value
ws.Cells(foundRow, 4).Offset(2).Value = TextBoxAnzeigen2.Value
ws.Cells(foundRow, 4).Offset(3).Value = TextBoxAnzeigen3.Value
ws.Cells(foundRow, 4).Offset(4).Value = TextBoxAnzeigen4.Value
ws.Cells(foundRow, 4).Offset(5).Value = TextBoxAnzeigen5.Value
ws.Cells(foundRow, 4).Offset(6).Value = TextBoxAnzeigen6.Value
ws.Cells(foundRow, 4).Offset(7).Value = TextBoxAnzeigen7.Value
ws.Cells(foundRow, 4).Offset(8).Value = TextBoxAnzeigen8.Value
ws.Cells(foundRow, 4).Offset(9).Value = TextBoxAnzeigen9.Value
ws.Cells(foundRow, 4).Offset(10).Value = TextBoxAnzeigen10.Value
ws.Cells(foundRow, 4).Offset(11).Value = TextBoxAnzeigen11.Value
ws.Cells(foundRow, 4).Offset(12).Value = TextBoxAnzeigen12.Value
ws.Cells(foundRow, 4).Offset(13).Value = TextBoxAnzeigen13.Value
ws.Cells(foundRow, 4).Offset(14).Value = TextBoxAnzeigen14.Value
ws.Cells(foundRow, 4).Offset(15).Value = TextBoxAnzeigen15.Value
ws.Cells(foundRow, 4).Offset(16).Value = TextBoxAnzeigen16.Value
ws.Cells(foundRow, 4).Offset(17).Value = TextBoxAnzeigen17.Value
ws.Cells(foundRow, 4).Offset(18).Value = TextBoxAnzeigen18.Value
ws.Cells(foundRow, 4).Offset(19).Value = TextBoxAnzeigen19.Value
ws.Cells(foundRow, 4).Offset(20).Value = TextBoxAnzeigen20.Value
ws.Cells(foundRow, 4).Offset(21).Value = TextBoxAnzeigen21.Value
ws.Cells(foundRow, 4).Offset(22).Value = TextBoxAnzeigen22.Value
ws.Cells(foundRow, 4).Offset(23).Value = TextBoxAnzeigen23.Value
ws.Cells(foundRow, 4).Offset(24).Value = TextBoxAnzeigen24.Value
ws.Cells(foundRow, 4).Offset(25).Value = TextBoxAnzeigen25.Value
ws.Cells(foundRow, 4).Offset(26).Value = TextBoxAnzeigen26.Value
ws.Cells(foundRow, 4).Offset(27).Value = TextBoxAnzeigen27.Value
ws.Cells(foundRow, 4).Offset(28).Value = TextBoxAnzeigen28.Value
ws.Cells(foundRow, 4).Offset(29).Value = TextBoxAnzeigen29.Value
ws.Cells(foundRow, 4).Offset(30).Value = TextBoxAnzeigen30.Value
ws.Cells(foundRow, 4).Offset(31).Value = TextBoxAnzeigen31.Value
ws.Cells(foundRow, 4).Offset(32).Value = TextBoxAnzeigen32.Value
ws.Cells(foundRow, 4).Offset(33).Value = TextBoxAnzeigen33.Value
ws.Cells(foundRow, 4).Offset(34).Value = TextBoxAnzeigen34.Value
' Erfolgsmeldung anzeigen
MsgBox "Der Wert wurde erfolgreich geändert."
' Eingabefeld zurücksetzen
TextBoxAnzeigen.Value = ""
' Eingabefeld deaktivieren
TextBoxAnzeigen.Enabled = False
' Änderungsmodus deaktivieren
CommandButtonÄndern.Enabled = False
End If
End Sub
Guten Tag,
Ich habe ein problem mit meinem Code:
Wenn in Spalte D der name gefunden wird, gibt er alle Daten unterhalb bis 34 aus (was ich gut finde)
Wenn ich jetzt aber weiter suche und die Daten in Spalte F finde, gibt er trotzdem die Daten unterhalb von Zeile 2 aus D an...
was übersehe ich?
Der Code soll jeweils die Daten unterhalb des Gefundenen namens in der Maske wiedergeben damit ich das bearbeiten kann....
|