2016-11-24 16 views
0

私は現在、ある程度まで私のために働いています。値に基づいてExcelの行コピーを理解し、追加するコード

誰かがこのコードの各行が何を意味しているかを誰かがコメントできると思いますか?

プログラミングに関する知識がほとんどなく、追加の値を探して追加のシートに貼り付けるためのコードを追加しています。

私はまた、彼らは、彼らはシート上に最初にあった行を維持し、特定の行に次々に貼り付けないようにする方法をうまくしようとしています。1.

コード:

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 

-

多くのお礼ありがとうございます

答えて

0

私は要望に応じてコメントを追加しました。ここでrw変数を削除し、1ずつ増加何かに置き換えることで、それぞれの時間を見て

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

、同じ行にそれらを貼り付けるには、あなたのコードがコメントされて、あなたが理解してほしい:


サブテスト()

「次のように定義された変数: 範囲として薄暗い限りRW、セル」ループシート1
に最後Hで終了する(範囲H1の各セルを検索します現在の行番号は rw = Cell.Row 'セル値が含まれているかどうかをテストする>> Dept 1 value: If Cell(1).Range( "H:H")セルの各セルについてセル.VALUE =「部門1」すると 「は、行を選択し、それをコピーします。 Cell.EntireRow.Copy は」今のSheet2の列と行RWにその行の値を貼り付けます。

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

'あなたを以下を追加する必要があります: 'コピーした範囲の周りに行進するアリを無効にしてください: Application.CutCopyMode = False

終了の場合 次へ エンドサブ

関連する問題