[[20180302103816]] 『条件に一致した時各シートにデータコピー』(とと) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『条件に一致した時各シートにデータコピー』(とと)

vbaについて質問です。

かなりわかりづらいかも知れません、すみません。

メインシート=sheet1
各シート名=A B C D E F G H I J K

各シートのA1〜C1は見出し行で、A2〜C2からデータ記述
メインsheetも1行目は見出し行、2行目からデータになります

共通条件:M列に特定の値がある且つAB列が空白でない時
各sheet A・B・C列にsheet1のQ・R・AB列の値をコピー

例条件(sheetAの場合):sheet1のM列の値が"あんこ"且つsheet1のAB列にが空白でない時
sheetA A・B・C列にsheet1のQ・R・AB列の値をコピー
.
.
.

例条件(sheetKの場合):sheet1のM列の値が"おもち"且つsheet1のAB列にが空白でない時
sheetA A・B・C列にsheet1のQ・R・AB列の値をコピー

Sub kakuSheet()←簡略したコードです(if分の部分を簡略)

Dim i As Long
Dim ws1 As Worsheet

Set ws1 = Worksheets(1) 'シート名を変更する場合があるため一番左のsheetとして選択

For i = 2 To ws1.Cells(Rows.Count, "A").End(xlUp).Row

If ws1.Cells(i, "M") = "あんこ" And ws1.Cells(i, "AB") < > "" Then

         Worksheets("A").? = ws1.Cells(i, "Q")
         Worksheets("A").? = ws1.Cells(i, "R")
         Worksheets("A").? = ws1.Cells(i, "AB")

End If
Next i

End sub

上記のコードの?の部分への記述がわからずつまってしまいました。
Ifの条件を満たしたデータが複数あった場合、sheetAに記入してあるデータのすぐしたに新しいデータが記入されるようになって欲しいです。(データ蓄積)

よろしくお願いします。

< 使用 Excel:unknown、使用 OS:unknown >


 >         Worksheets("A").? = ws1.Cells(i, "Q")
 >         Worksheets("A").? = ws1.Cells(i, "R")
 >         Worksheets("A").? = ws1.Cells(i, "AB")

            Rw = Worksheets("A").Cells(Rows.Count, "A").End(xlUp).Row + 1
            Worksheets("A").Cells(Rw, "A") = ws1.Cells(i, "Q").Value
            Worksheets("A").Cells(Rw, "B") = ws1.Cells(i, "R").Value
            Worksheets("A").Cells(Rw, "C") = ws1.Cells(i, "AB").Value

(半平太) 2018/03/02(金) 12:18


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.