私は Excel の VBA コードを使い始めたばかりなので、これが基本的なように見える場合は申し訳ありません。次のことをしたい...
「Index」というシートのJ列(J5~J500)に値「Y」があるかどうかを確認します。これが私の状態です。次に、条件に一致する行の列 C のみを既存のシートと別の位置のセルにコピーします。つまり、インデックス値 C3 から I3 がコピーされた場合、それらを A5 から G5 に貼り付けたいと思います。私がいるアクティブなシート、Sheet2と言います。
インデックスシートに変更があれば自動でデータをコピーしたいのですが、 できれば。新しいデータがインデックスに追加された場合、どのように機能しますか?
ここでたくさん検索した後、これを見つけました。この質問から、要件に合わせてコードを少し変更しました。これにより、条件を満たす行全体がマクロを実行するシートにコピーされますが、特定の列のみを選択する方法に困惑しています。
Sub CopyRowsAcross()
Dim i As Integer
Dim ws1 As Worksheet: Set ws1 = ThisWorkbook.Sheets("Index")
Dim ws2 As Worksheet: Set ws2 = ActiveSheet
For i = 2 To ws1.Range("B65536").End(xlUp).Row
If ws1.Cells(i, 2) = "Y" Then ws1.Rows(i).Copy ws2.Rows(ws2.Cells(ws2.Rows.Count, 2).End(xlUp).Row + 1)
Next i
End Sub
どんな助けでも大歓迎です
ジョン
編集: モックアップを作成し、https://docs.google.com/file/d/0B0RttRif9NI0TGl0N1BZQWZfaFk/edit? usp=sharing にあります。
A列とB列はコピー時に必要ありません.どちらもJ列です.これは私が条件を確認するために使用しているものです.
これまでご協力いただきありがとうございました。