ich habe in der Programmierung mehrere With Funktionen hintereinander
Beispiel:
With ("Sheets1")
lLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
With .Range("D7:D" & lLastRow)
.FormulaR1C1 = "=VLOOKUP(RC[-3],[XXX.xlsx]Sheet1!C3:C8,6,FALSE)"
.NumberFormat = "General"
.Value = .Value
End With
With .Range("E7:E" & lLastRow)
.FormulaR1C1 = "=VALUE(LEFT(RC[-1],SEARCH("" "",RC[-1],1)-1))"
.NumberFormat = "General"
.Value = .Value
End With
With .Range("C7:C" & lLastRow)
.FormulaR1C1 = "=VLOOKUP(RC[-2],'[XXX.xlsx];C8:C10,3,FALSE)"
.NumberFormat = "General"
.Value = .Value
.Style = "Neutral"
End With
Dann habe ich folgenden Code, der ohne die vorstehenden With-Funktionen auch einwandfrei funktioniert:
Code 2:
With Range(Range("F6"), Cells.SpecialCells(xlCellTypeLastCell))
.Copy
.Cells(1, .Columns.Count + 2).PasteSpecial xlPasteAll
.Columns(1).Offset(0, -2).Copy
Selection.PasteSpecial xlPasteValues, operation:=xlAdd
End With
End With
Vorher habe ich anstatt die With-Funktionen im oberen Teil mit Select gearbeitet, was die ganze Sache aber sehr langsam gemacht hat.Da hat der zweite Code super funktioniert. Jetzt kopiert er die Werte gefühlt 500 Spalten später ein und kopiert komischerweise Spalte D ungefähr 1000 Mal dahinter...!?!?!
Kann sich das jemand erklären? Ich komme einfach nicht dahinter!
Danke und liebe Grüße