15.09.2018, 10:39
Meine Combobox sucht einen Kunden im Blatt "Kundendistanz" der Spalte 2.
Er findet ihn in irgendeiner Zeile.
Aber nun fehlt mir der letzte Schritt, dass die Werte der aktive Zeile, in der der Kunde gefunden wurde,
nach oben in die Zeile 3 kopiert werden.
Und das bekomme ich nicht hin. Das mit der ActiveCell.Row geht so nicht....
Hier der Code:
Was muss ich ändern, damit das funktioniert?
Kann mir da jemand die richtigen Codezeilen mitteilen?
Er findet ihn in irgendeiner Zeile.
Aber nun fehlt mir der letzte Schritt, dass die Werte der aktive Zeile, in der der Kunde gefunden wurde,
nach oben in die Zeile 3 kopiert werden.
Und das bekomme ich nicht hin. Das mit der ActiveCell.Row geht so nicht....
Hier der Code:
Code:
Private Sub ComboBox1_Click()
Dim StrKunde, SP
StrKunde = UserForm1.ComboBox1.Column(0)
Set SP = Worksheets("Kundendistanz").Columns(2).Find(StrKunde, LookAt:=xlWhole, LookIn:=xlValues)
If Not SP Is Nothing Then
With Sheets("Kundendistanz")
.Range("A3") = .Range("A" & ActiveCell.Row).Value 'KNR
.Range("B3") = .Range("B" & ActiveCell.Row).Value 'Kunde
.Range("C3") = .Range("C" & ActiveCell.Row).Value 'Adresse
.Range("D3") = .Range("D" & ActiveCell.Row).Value 'PLZ
.Range("E3") = .Range("E" & ActiveCell.Row).Value 'Ort
.Range("F3") = .Range("F" & ActiveCell.Row).Value 'Bundesland
.Range("G3") = .Range("G" & ActiveCell.Row).Value
.Range("H3") = .Range("H" & ActiveCell.Row).Value
.Range("I3") = .Range("I" & ActiveCell.Row).Value
.Range("J3") = .Range("J" & ActiveCell.Row).Value
.Range("K3") = .Range("K" & ActiveCell.Row).Value
.Range("L3") = .Range("L" & ActiveCell.Row).Value
.Range("M3") = .Range("M" & ActiveCell.Row).Value
End With
With Worksheets("Kundendistanz").Range("A4:U700") 'Sortieren
.Sort Key1:=.Range("U4:U700"), Order1:=xlDescending, Key2:=.Range("B4:B700") _
, Order2:=xlAscending, Key3:=.Range("E4:E700"), Order3:=xlAscending, Header:= _
xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortTextAsNumbers, DataOption2:=xlSortNormal, DataOption3 _
:=xlSortNormal
End With
With Worksheets("Kundendistanz") 'Einlesen in die Listbox
ListBox1.RowSource = "Kundendistanz!" & .Range(.Cells(4, 1), .Cells(21, 700)).Address
End With
End If
Set SP = Nothing
End Sub
Was muss ich ändern, damit das funktioniert?
Kann mir da jemand die richtigen Codezeilen mitteilen?
Gruß Achim
Jeder Mensch macht Fehler. Die Kunst liegt darin, sie zu machen, wenn keiner zuschaut.
Jeder Mensch macht Fehler. Die Kunst liegt darin, sie zu machen, wenn keiner zuschaut.