2017-07-26 2 views
0

Ich versuche, Zeilen von einem Blatt zum anderen zu schneiden und einzufügen, basierend auf Kriterien in Spalte B des Blattes1. Problem ist, dass ich brauche sie mit Formeln auf dem anderen Blatt und nicht Werte eingefügt werden. Da die Daten gefiltert werden, sind die Daten nicht kontinuierlich, daher kann ich nicht schneiden, sondern nur kopieren und auf das andere Blatt einfügen.VBA Wie Zeilen auf einem anderen Blatt einfügen, so dass sie Formeln enthalten?

Bitte helfen. PS. Ich verwende keine Schleife, weil zu viele Daten vorhanden sind, daher die Filterung.

Sub TransferRows() 
Dim lLRow As Long 

    With Sheets("Sheet1") 
     lLRow = .Cells(.Rows.Count, 1).End(xlUp).Row 
     .Range("B:B").AutoFilter Field:=1, Criteria1:="Cat" 
     .Range("B2:B" & lLRow).SpecialCells(xlCellTypeVisible).EntireRow.Copy Destination:=Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1) 
     .AutoFilterMode = False 
    End With 
End Sub 

Wie kopieren oder (idealerweise) geschnitten und nur sichtbar Zellen (gefiltert) mit Formeln, basierend auf einem Wert in der vorgenannten Spalte auf ein anderes Blatt einzufügen?

Dank Westen

Antwort

1

Verwenden PasteSpecial mit xlFormulas

Sub TransferRows() 
Dim lLRow As Long 

    With Sheets("Sheet1") 
     lLRow = .Cells(.Rows.Count, 1).End(xlUp).Row 
     .Range("B:B").AutoFilter Field:=1, Criteria1:="Cat" 
     .Range("B2:B" & lLRow).SpecialCells(xlCellTypeVisible).EntireRow.Copy 
     Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlFormulas 
     .AutoFilterMode = False 
    End With 
End Sub 

Sheet1

enter image description here

Sheet2 Ausgabe nach

läuft

Verwandte Themen