2017-10-27 11 views
0

範囲A1:G200を1つのワークブックから現在のワークブック(両方のワークブックがアクティブ)にコピーする必要がありますが、カラム内の特定の条件を満たす行のみをコピーするコードが必要ですG.列Gは、.000から.999の範囲の値しか持たない。私は範囲A1コピーするマクロを必要がありますが、G200を彼らは私がすでに素晴らしい作品のコピーと貼り付けのためのマクロを作成している VBAコードIf文をコピーして貼り付ける場合

G.

0.250と列で 0.500範囲の間にある場合にのみ、問題はIf文にあまり慣れていないことです。誰か助けてくれますか?これまで私が持っていたことは次のとおりです。

Sub test() 

    Dim masterWb As Workbook 
    Dim mySht As Worksheet 
    Set mySht = ThisWorkbook.ActiveSheet 
    Set masterWb = Workbooks("JME") 
    With masterWb.Worksheets.Add 
     .Range("A1:G200").Value = mySht.Range("A1:G200").Value 
    End With 

End Sub 
+0

'if ... then ... else'文を調べます。あなたは知識なしに進めることはできません – jsotola

答えて

0

これは、行ごとに値を貼り付けることです。条件を満たす列Gを確認して、条件に該当する行がある場合は、値を貼り付けます。

Dim ColG As Range 
Set ColG = mySht.Range("G1:G200") 

Dim CopyCount As Integer 
CopyCount = 0 

With masterWb.Worksheets.Add 
    For Each Cell In ColG 
     ThisRow = Cell.Row 
     If Cell.Value >= 0.25 And Cell.Value <= 0.5 Then 
      CopyCount = CopyCount + 1 
      .Range("A" & CopyCount & ":G" & CopyCount).Value = _ 
       mySht.Range("A" & ThisRow & ":G" & ThisRow).Value 
     Else 
      'Do Nothing 
     End If 
    Next Cell 
End With 

これが機能するかどうか教えてください。楽しい!

関連する問題