AW: Vergleich
17.08.2006 15:49:11
fcs
Hallo Christian,
folgendes Makro führt die Such und Übertragungsaktionen aus. Blattnamen und Spaltennummern muss du noch anpassen.
Das zu suchende Unterkonto wird in einerEingabebox abgefragt (Eingabe ohne den Bindestrich davor!)
Gruß
Franz
Sub UK_Daten_uebertragen()
Dim wksA As Worksheet, wksB As Worksheet, Zeile As Long
Dim SpalteA As Integer, SpalteB As Integer, SpalteUK As Integer
Dim UK As String, KTR As String, Finden As Range
Set wksA = ActiveWorkbook.Worksheets("SheetA")
Set wksB = ActiveWorkbook.Worksheets("SheetB")
SpalteA = 1 'Spalte mit Projekt-KTR-UK in Blatt A
SpalteB = 1 'Spalte mit KTR in Blatt B
SpalteUKA = 4 'Spalte in der auf Blatt A Info zu UK entnommen werden soll
SpalteUKB = 2 'Spalte in der auf Blatt B Info zu UK eingetragen werden soll
UK = InputBox("Zu suchender Unterkostenträger")
If UK = "" Then Exit Sub 'Abbrechen geklickt
With wksA
For Zeile = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row
KTR = Mid(.Cells(Zeile, SpalteA).Value, 5, 9) 'Kostenträger "ausschneiden"
' UK mit letzte 4 Zeichen vom Zellwert vergleichen
If Right(.Cells(Zeile, SpalteA).Value, 4) = UK Then
'KTR im Blatt B suchen
Set Finden = wksB.Columns(SpalteB).Find(what:=KTR, LookIn:=xlValues, lookat:=xlWhole)
If Not Finden Is Nothing Then
wksB.Cells(Finden.Row, SpalteUKB).Value = .Cells(Zeile, SpalteUKA).Value
End If
End If
Next Zeile
End With
wksB.Select
End Sub