2017-06-02 2 views
1

ich alle Zeilen aus dem Pipeline Report Blatt kopieren mag, dass der Text „Allscripts“ in Spalte T enthalten.Wie zum Kopieren und Einfügen von Zeilen aus einer bestimmten Zelle in einem anderen Blatt beginnend

Dann möchte ich sie auf ein anderes Blatt ab "A14" einfügen und nach unten gehen.

Im Moment klebt dieser Code sie von "A2", aber ich brauche es von A14 starten und von dort aus gehen.

Sub extractAllscripts() 

Dim myrange As Range 
Dim lr as Long 

Sheets("Pipeline Report").Select 
Set myrange = Sheets("Pipeline Report").Range("T1", Range("T" & Rows.Count).End(xlUp)) 

For Each cell In myrange 
    If cell.Value = "Allscripts" Then 
     lr = Sheets("Macro Test Page").Range("T" & Rows.Count).End(xlUp).Row 
     cell.EntireRow.Copy Destination:=Sheets("Macro Test Page").Range("A" & lr + 1) 
    End If 
Next cell 

End Sub 

Antwort

0

Dies ist eine schlechte Praxis, aber da wir nicht wissen, wie Ihr Blatt eingerichtet ist, dann würde ich dies vorschlagen:

Sub extractAllscripts() 

Dim myrange As Range 
Dim lr as Long 
Dim myoffset As Integer 

Sheets("Pipeline Report").Select 
Set myrange = Sheets("Pipeline Report").Range("T1", Range("T" & Rows.Count).End(xlUp)) 

myoffset = 13 

For Each cell In myrange 
If cell.Value = "Allscripts" Then 
    lr = Sheets("Macro Test Page").Range("T" & Rows.Count).End(xlUp).Row 
    cell.EntireRow.Copy Destination:=Sheets("Macro Test Page").Range("A" & lr + myoffset) 
    End If 
    myoffset = 1 
Next cell 

End Sub 

Oder eine andere schlechte Lösung:

In Ihrem Code ersetzen lr = Sheets("Macro Test Page").Range("T" & Rows.Count).End(xlUp).Row mit lr = lr + 1 und definieren lr zu 13 außerhalb der Schleife und Range("A" & lr + 1)lr statt lr + 1 zu sein.

Verwandte Themen