質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

3回答

2141閲覧

VBAで対象セル内に”NG”が表示されている場合、その列を別シートにコピーする

javabigineer

総合スコア87

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2016/06/28 08:03

VBA初心者です。教えてください。

VBAで対象セル内に"NG"が表示されていた場合、その列の対象セルを別シートにコピーする処理を作成したいです。
例)Sheet1のA2,B2,C2,D2のうち、B2が"NG"だった場合、A2,B2,C2,D2,E2,F2をSheet2にコピーする

説明不足かもしれませんが、補足必要な場合ご指摘ください。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答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

PineMatsu

総合スコア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
dojikko

総合スコア3939

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

javabigineer

2016/06/29 09:17

ありがとうございます。あと少しでできそうです。 例では、連続した列を選択してコピペすると記述していましたが、連続しない列を選択してコピペも同様のやり方で良いのでしょうか?最後のSelect分しかペーストされないみたいです。。
dojikko

2016/06/29 18:10

連続しない列を選択してみるには 複数のセルを選択する http://officetanaka.net/excel/vba/tips/tips126.htm みたいなのを参照してください 単純にコピー&ペーストを連続していない列分だけ繰り返せば済むという話も... まずは手でやるときにどうやってやっているかを考えながらコードを書くようにすることを意識してみてください 効率的なコードはその後でいいと思います
guest

0

見つかったセルを別のシートにコピーする Office TANAKA
ちょっとうまく引用できないのでリンクだけですが、こちらが参考になるのではないでしょうか?

投稿2016/06/28 08:37

編集2016/06/28 08:39
hirohiro

総合スコア2068

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問