Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

ComboBox soll Active Zeile verwenden
#1
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:
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.
Antworten Top
#2
Hallo,

zeig doch mal deine Datei. Nach dem Quelltext wird das niemand nachbauen. Versuche mal die Zeile mit SP.Row zu benennen.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#3
Hallo Achim,

SP ist bei dir ein Range-Objekt - dann bitte auch so deklarieren

Dim SP As Range

Und auf die komplette Zeile der Fundstelle kannst du dann mit

Rows(SP.Row).Copy

zugreifen (hier fürs Kopieren)


Gruß Werner
Antworten Top
#4
Hallo an euch Experten....
Ich habe das "ActiveCell" gegen das "SP" getauscht....
Jetzt funktioniert das.….

Ich danke euch für die Hinweise dazu.....
Gruß Achim
Jeder Mensch macht Fehler. Die Kunst liegt darin, sie zu machen, wenn keiner zuschaut.
Antworten Top
#5
Hallo Achim,

danke für die Rückmeldung. Wenn du jetzt noch wissen willst, warum das so ist: da die Find-Methode den Treffer nicht markiert, gibt es auch keine aktive Zelle.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste