2017-04-04 3 views
-1

私は、 "RFQ_selector"という名前のExcelに3列テーブルを持っています。 2列目には「はい/いいえ」が表示されます。VBAフィルタテーブルとコピー

  1. 2番目の列に「はい」を含む行のみをフィルタリングするマクロが必要です。
  2. 次に、マクロは、同じシート上の新しい場所にyesを含む行の左側にあるすべてのセルをコピーする必要があります。セルF25から始まるリストに貼り付けます。

私は立ち往生しています。誰か助けてください。 おかげ

Sub CopyYes() 
    Dim c As Range 
    Dim j As Integer 
    Dim Source As Worksheet 
    Dim Target As Worksheet 

    ' Change worksheet designations as needed 
    Set Source = ActiveWorkbook.Worksheets("Trader") 
    Set Target = ActiveWorkbook.Worksheets("Sheet2") 

    j = 1  ' Start copying to row 1 in target sheet 
    For Each c In Source.Range("C8:C22") ' Do 30 rows 
     If c = "yes" Then 
      Source.Rows(c.Row).Copy Target.Rows(j) 
      j = j + 1 
     End If 
    Next c 
End Sub 
+0

StackOverflowは無料コード作成サービスではないので、ここで助けを得るためにコードを表示する必要があります。 –

+1

アドバイスありがとう、私のコードは今メッセージにあります – gekko2670

答えて

0

は、私はあなたの必要な変更を反映するために、あなたのサブを変更した:

  • コピーへのすべてのセルが上の新しい場所にはいを含む行のを残しました同一シート。セルF25で を開始するリストに貼り付けることがフィルタリングしない

は、フィルタリングは、あなたの提供されたコードで何が起こっていないが、出力のみが「はい」の列の情報が含まれていた

Sub CopyYes() 
    Dim c As Range 
    Dim j As Integer 
    Dim Source As Worksheet 
    'Target worksheet not needed, pasting to source worksheet 

    ' Change worksheet designations as needed 
    Set Source = ActiveWorkbook.Worksheets("Sheet1") 

    j = 25         'Start copying to F25 
    For Each c In Source.Range("B2:B30") 'Change the range here to fit the range in which your data for Yes/No is stored 
     If c = "Yes" Then     'Verify capitalization here, difference between "Yes" and "yes" 
      c.Offset(0, -1).Copy Source.Range("F" & j) 'Copy the cell to the left of the Yes/No column and paste on same sheet starting at row F25 
      j = j + 1 
     End If 
    Next c 
End Sub 
関連する問題