Guck mal ob das geht =D
Versuch mal Select wegzulassen das wird nicht benötigt
Gruß Basti
Option Explicit
Sub Leeren()
Sheets("Verarbeitet").Range("A2:X5000").ClearContents
End Sub
Sub Verarbeitung()
Dim quelle1 As Worksheet
Dim quelle2 As Worksheet
Dim zielblatt As Worksheet
Dim sortieren As Range
Dim zeile As Long
Dim letzteZeile As Long
Dim zielzeile As Long
Dim formelbereich As Range
Application.ScreenUpdating = False
Set quelle1 = Worksheets("Import 1")
Set quelle2 = Worksheets("Import 2")
Set zielblatt = Worksheets("Verarbeitet")
Call Leeren
'Sortieren der BWF nach Kontonummer
Set sortieren = quelle1.Range("A1").CurrentRegion
sortieren.Sort Key1:=quelle1.Range("A2"), order1:=xlAscending, Header:=xlYes
'Aggregation der Kontonummer
letzteZeile = quelle1.Range("A1000000").End(xlUp).Row
zielzeile = 2
For zeile = 2 To letzteZeile
If quelle1.Range("A" & zeile).Value quelle1.Range("A" & zeile - 1).Value Then
quelle1.Range("A" & zeile).Copy zielblatt.Cells(zielzeile, 1)
zielzeile = zielzeile + 1
End If
Next zeile
'Formeln einfügen
Set formelbereich = zielblatt.Range("b2:x2")
formelbereich.Cells(1, 1).Formula = "=vlookup(a2,'Import 1'!$A$1:$AQ$5000,3,false)"
formelbereich.Cells(1, 2).Formula = "=vlookup(a2,'Import 1'!$A$1:$AQ$5000,4,false)"
formelbereich.Cells(1, 3).Formula = "=vlookup(a2,'Import 1'!$A$1:$AQ$5000,12,false)"
formelbereich.Cells(1, 4).Formula = "=vlookup(a2,'Import 1'!$A$1:$AQ$5000,5,false)"
formelbereich.Cells(1, 5).Formula = "=vlookup(a2,'Import 1'!$A$1:$AQ$5000,11,false)"
formelbereich.Cells(1, 6).Formula = "=vlookup(a2,'Import 1'!$A$1:$AQ$5000,7,false)"
formelbereich.Cells(1, 7).Formula = "=vlookup(a2,'Import 1'!$A$1:$AQ$5000,8,false)"
formelbereich.Cells(1, 8).Formula = "=vlookup(a2,'Import 1'!$A$1:$AQ$5000,6,false)"
formelbereich.Cells(1, 9).Formula = "=if(isna(vlookup(a2,'Import 2'!$A$1:$N$35000,1,false)), _
""inaktiv"",vlookup(a2,'Import 2'!$A$1:$N$35000,3,false))"
formelbereich.Cells(1, 10).Formula = "=if(isna(vlookup(a2,'Import 2'!$A$1:$N$35000,1,false)) _
,"""",vlookup(a2,'Import 2'!$A$1:$N$35000,4,false))"
formelbereich.Cells(1, 11).Formula = "=if(isna(vlookup(a2,'Import 2'!$A$1:$N$35000,1,false)) _
,"""",vlookup(a2,'Import 2'!$A$1:$N$35000,2,false))"
formelbereich.Cells(1, 12).Formula = "=if(isna(vlookup(a2,'Import 2'!$A$1:$N$35000,1,false)) _
,"""",vlookup(a2,'Import 2'!$A$1:$N$35000,5,false))"
formelbereich.Cells(1, 13).Formula = "=if(isna(vlookup(a2,'Import 2'!$A$1:$N$35000,1,false)) _
,"""",vlookup(a2,'Import 2'!$A$1:$N$35000,6,false))"
formelbereich.Cells(1, 14).Formula = "=if(isna(vlookup(a2,'Import 2'!$A$1:$N$35000,1,false)) _
,"""",vlookup(a2,'Import 2'!$A$1:$N$35000,7,false))"
formelbereich.Cells(1, 15).Formula = "=if(isna(vlookup(a2,'Import 2'!$A$1:$N$35000,1,false)) _
,"""",vlookup(a2,'Import 2'!$A$1:$N$35000,8,false))"
formelbereich.Cells(1, 16).Formula = "=if(isna(vlookup(a2,'Import 2'!$A$1:$N$35000,1,false)) _
,"""",vlookup(a2,'Import 2'!$A$1:$N$35000,9,false))"
formelbereich.Cells(1, 17).Formula = "=if(isna(vlookup(a2,'Import 2'!$A$1:$N$35000,1,false)) _
,"""",vlookup(a2,'Import 2'!$A$1:$N$35000,10,false))"
formelbereich.Cells(1, 18).Formula = "=if(isna(vlookup(a2,'Import 2'!$A$1:$N$35000,1,false)) _
,"""",vlookup(a2,'Import 2'!$A$1:$N$35000,11,false))"
formelbereich.Cells(1, 19).Formula = "=if(isna(vlookup(a2,'Import 2'!$A$1:$N$35000,1,false)) _
,"""",vlookup(a2,'Import 2'!$A$1:$N$35000,12,false))"
formelbereich.Cells(1, 20).Formula = "=if(isna(vlookup(a2,'Import 2'!$A$1:$N$35000,1,false)) _
,"""",vlookup(a2,'Import 2'!$A$1:$N$35000,13,false))"
formelbereich.Cells(1, 21).Formula = "=if(isna(vlookup(a2,'Import 2'!$A$1:$N$35000,1,false)) _
,"""",vlookup(a2,'Import 2'!$A$1:$N$35000,14,false))"
formelbereich.Cells(1, 22).Formula = "=vlookup(a2,'Import 1'!$A$1:$AQ$5000,25,false)"
formelbereich.Cells(1, 23).Formula = "=vlookup(a2,'Import 1'!$A$1:$AQ$5000,27,false)"
zielblatt.Range("B2:X" & zielzeile - 1).FillDown
Range("B15").Select
Application.ScreenUpdating = True
End Sub