2016-11-24 3 views
0

Bitte siehe unten Code, den ich im Internet gefunden habe, die derzeit für mich in gewissem Maße funktioniert.Understanding & Additional Code für Excel-Zeile kopieren basierend auf Wert

Könnte jemand möglicherweise kommentieren, was jede Zeile dieses Codes bedeutet, damit ich verstehen kann, was es tut?

Ich versuche es mit wenig Programmierkenntnissen zu verstehen und füge zusätzlichen Code hinzu, um nach zusätzlichen Werten zu suchen, die in zusätzliche Blätter eingefügt werden können.

Ich bin auch zu arbeiten, versuchen, wie sie zu bestimmten Reihen hintereinander und nicht halten Sie die Zeile sie ursprünglich in auf Blatt 1.

-Code war Paste zu machen:

Sub Test() 
Dim rw As Long, Cell As Range 
For Each Cell In Sheets(1).Range("H:H") 
rw = Cell.Row 
If Cell.Value = "Dept 1" Then 
    Cell.EntireRow.Copy 
    Sheets("Sheet2").Range("A" & rw).PasteSpecial xlPasteValues 
End If 
Next 
End Sub 

-

Vielen dank

Antwort

0

ich habe hinzugefügt Kommentare wie gewünscht. Um sie auf der gleichen Zeile einzufügen, sehen Sie die rw Variable zu entfernen und durch etwas, das um eins erhöht jedes Mal

Sub Test() 
     'declare variables 
     Dim rw As Long, Cell As Range 
     'loop through each cell the whole of column H in the first worksheet in the active workbook 
     For Each Cell In Sheets(1).Range("H:H") 
      'set rw variable equal to the row number of the Cell variable, which changes with each iteration of the For loop above 
      rw = Cell.Row 
      'check if the value of Cell variable equals Dept 1 
      If Cell.Value = "Dept 1" Then 
       'copy the entire row if above is true 
       Cell.EntireRow.Copy 
       'paste to the same row of Sheet 2 
       Sheets("Sheet2").Range("A" & rw).PasteSpecial xlPasteValues 
      End If 
     Next 
End Sub 
0

Hier ersetzt ist Ihr-Code kommentiert hoffe, Sie verstehen:


Sub Test()

'Variablen wie folgt definiert: Dim rw As Long, Cell A Range ' Loop Searching jede Zelle (Bereich H1 bis zum Ende der letzten H auf sheet1
Für jede Zelle In Sheets (1) .Range ("H: H") 'jetzt aktuelle Zeilennummer ermitteln: rw = Cell.Row ' Testzellenwert wenn es >> Dept 1 als Wert enthält: If Cell .Value = „Abteilung 1“ Dann ‚diese Zeile auswählen und kopieren: Cell.EntireRow.Copy ‘ fügen nun die Werte dieser Zeile in eine Spalte und rw Reihe auf sheet2:

Sheets("Sheet2").Range("A" & rw).PasteSpecial xlPasteValues 

'Sie Fügen Sie Folgendes hinzu: Deaktivieren Sie Marschameisen um kopierten Bereich: Application.CutCopyMode = False

Ende Wenn Weiter End Sub

Verwandte Themen