VBA初心者です。教えてください。
VBAで対象セル内に"NG"が表示されていた場合、その列の対象セルを別シートにコピーする処理を作成したいです。
例)Sheet1のA2,B2,C2,D2のうち、B2が"NG"だった場合、A2,B2,C2,D2,E2,F2をSheet2にコピーする
説明不足かもしれませんが、補足必要な場合ご指摘ください。
よろしくお願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
例をそのまま実現すると例えばこうなります。
VBA
1If Worksheets("Sheet1").Range("B2") = "NG" Then 2 Worksheets("Sheet1").Range("A2:F2").Copy Worksheets("Sheet2").Range("A2:F2") 3End If
投稿2016/06/28 08:34
総合スコア3579
0
対象となるセルを走査して該当すればコピーするようなコードを書けばいいと思います
例えば
Sub test() '走査する行,列 Dim row As Integer Dim col As Integer 'ペースト先 Dim dist_row As Integer dist_row = 1 For row = 2 To 5 For col = 1 To 4 If Sheets("Sheet1").Cells(row, col) = "NG" Then Sheets("Sheet1").Select Range(Cells(row, 1), Cells(row, 6)).Select Selection.Copy Sheets("Sheet2").Select Sheets("Sheet2").Cells(dist_row, 1).Select ActiveSheet.Paste Sheets("Sheet1").Select dist_row = dist_row + 1 Exit For End If Next col Next row Range("A1").Select Application.CutCopyMode = False End Sub
こんな感じでしょうか?
たぶんコピーしたい条件は変わると思うので適宜変更してください
投稿2016/06/28 08:54
編集2016/06/28 08:56総合スコア3939
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/29 18:10
0
見つかったセルを別のシートにコピーする Office TANAKA
ちょっとうまく引用できないのでリンクだけですが、こちらが参考になるのではないでしょうか?
投稿2016/06/28 08:37
編集2016/06/28 08:39総合スコア2068
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。