VBA初心者です
特定の条件を満たすセルの隣接する指定のセルをコピーして別のシートへ貼付けたいです
【sheet1】
A B C ~ F G
1 2 あ ~ 3 あり
2 1 い ~ 7 なし
3 2 う ~ 4 あり
5 3 え ~ 6 あり
6 2 お ~ 5 なし
7 1 か ~ 3 あり
8 3 き ~ 7 なし
9 2 く ~ 8 なし
といったデータのうち、G列が「あり」の行の
C~Fの値を別のシートへ以下のように貼り付けたいです
【sheet2】
A ~ D E
あ ~ 3 _
う ~ 4 _
え ~ 6 _
か ~ 3 _
全くの初心者です
よろしくお願いします
No.1ベストアンサー
- 回答日時:
Sheet1がアクティブな時しかうまくいきませんが、
こんな感じでどうでしょう。
適当に作ってるので、非常にパフォーマンス悪いですが・・・。
Public Sub cptest()
Dim sht1 As Worksheet
Dim sht2 As Worksheet
Dim rng As Range
Dim cel As Range
Dim stcrng As New Collection
Dim lastRow As Integer
Dim cnt As Integer
Set sht1 = ThisWorkbook.Worksheets("Sheet1")
Set sht2 = ThisWorkbook.Worksheets("Sheet2")
lastRow = Range("G65535").End(xlUp).Row
Set rng = sht1.Range("G1:G" & lastRow)
For Each cel In rng
If cel.Value = "あり" Then
Set cel = sht1.Range(cel.Offset(0, -4), cel.Offset(0, -1))
stcrng.Add cel
End If
Next
sht2.Cells.Clear
cnt = 0
Set rng = sht2.Range("A1")
For Each cel In stcrng
cel.Copy
rng.Offset(cnt, 0).PasteSpecial
rng.Offset(cnt, 4).Value = "_"
cnt = cnt + 1
Next
Application.CutCopyMode = False
End Sub
No.2
- 回答日時:
Sheet2を全てクリアして、1行目からデータが始まります。
Sub Macro1()
Set ws01 = Sheets("Sheet1")
Set ws02 = Sheets("Sheet2")
ws02.Cells.ClearContents
myRow = 0
For i = 1 To ws01.Range("G65535").End(xlUp).Row
If ws01.Range("G" & i) = "あり" Then
myRow = myRow + 1
ws02.Range("A" & myRow & ":D" & myRow).Value = ws01.Range("C" & i & ":F" & i).Value
End If
Next i
End Sub
締め切ってしまった瞬間に投稿いただきました
書式はコピーされないのでこちらはこちらで活用させていただきます
ありがとうございました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
好きなおでんの具材ドラフト会議しましょう
肌寒くなってきて、温かい食べ物がおいしい季節になってきましたね。 みなさんはおでんの具材でひとつ選ぶなら何にしますか? 1番好きなおでんの具材を教えてください。
-
【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
2024年は「名探偵コナン30周年」「涼宮ハルヒ20周年」などを迎えますが、 あなたが「もうそんなに!?」と驚いた○○周年を教えてください。
-
【お題】引っかけ問題(締め切り10月27日(日)23時)
【大喜利】 「日本で一番高い山は富士山……ですが!」から始まった、それは当てられるわけ無いだろ!と思ったクイズの問題
-
【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
【お題】 ・買ったばかりの自転車を分解してひと言
-
ギリギリ行けるお一人様のライン
おひとり様需要が増えているというニュースも耳にしますが、 あなたが「ギリギリ一人でも行ける!」という場所や行為を教えてください
-
ある条件を満たすセルに対応する行のセル内容をコピーして・・
Visual Basic(VBA)
-
vba 2つの条件が一致したらコピーして別シートに値のみ貼り付け
Visual Basic(VBA)
-
VBAで条件が一致する行をコピーしその1つ下へ挿入
Excel(エクセル)
-
-
4
VBA 条件が一致した場合のみコピーする
その他(ビジネス・キャリア)
-
5
エクセルVBAのIFを使ったコピペ
Excel(エクセル)
-
6
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
7
エクセル2016でfilter関数がないので、、抜き出す関数をおしえてください。
Excel(エクセル)
-
8
特定の条件の時に行を挿入したい
Excel(エクセル)
-
9
エクセルVBAで、ある文字を含んでいたら別シートに抽出したい
Excel(エクセル)
-
10
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
11
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
12
VBAでシートコピー後、シート名が重複している時の処理
Access(アクセス)
-
13
VBマクロ 色の付いたセルを含む行をコピーしたい。
Visual Basic(VBA)
-
14
エクセルのシート名変更で重複した時のvbaの処理
Visual Basic(VBA)
-
15
エクセル2010 マクロで値のみコピー
Excel(エクセル)
-
16
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
17
毎回変わる範囲を検索し、コピペするマクロについてご教示ください。
Excel(エクセル)
-
18
条件付き書式のコピーについて(参照先も自動で変更したい)
Excel(エクセル)
-
19
【VBA】特定列に文字が入っていたらそのセル行をコピーしてマスターブックの同じ行に貼り付けたい
その他(Microsoft Office)
-
20
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロ実行後に別シートの残像...
-
マクロの「SaveAs」でエラーが...
-
VBA 空白行に転記する
-
EXCELのSheet番号って変更でき...
-
Changeイベントで複数セルへの...
-
VBA別シートの最終行の次行へ転...
-
ExcelのVBマクロを、バックグラ...
-
Count Ifのセルの範囲指定に変...
-
100万件越えCSVから条件を満た...
-
別シートから年齢別の件数をカ...
-
VBAでのピボットテーブルの範囲...
-
VBA 別ブックからの転記の高速...
-
【VBA】特定の条件でセルをコピー
-
楽天RSSからエクセルVBAを使用...
-
グラフマクロで系列を変数にす...
-
ExcelのVBAでグループ分けしたい
-
【VBA】データを各シートに自動...
-
Excel2013で切り取り禁止
-
VBAで変数の数/変数名を動的に...
-
GASでチェックボックスを一括of...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マクロの「SaveAs」でエラーが...
-
EXCELのSheet番号って変更でき...
-
VBA 空白行に転記する
-
マクロ実行後に別シートの残像...
-
VBA別シートの最終行の次行へ転...
-
Changeイベントで複数セルへの...
-
Count Ifのセルの範囲指定に変...
-
ExcelのVBマクロを、バックグラ...
-
VBA 実行時エラー1004 rangeメ...
-
VBAで変数の数/変数名を動的に...
-
VBA 別ブックからの転記の高速...
-
Excel VBA オートフィルターで...
-
100万件越えCSVから条件を満た...
-
複数シートの複数列に入力され...
-
【VBA】特定の条件でセルをコピー
-
Excel2013で切り取り禁止
-
楽天RSSからエクセルVBAを使用...
-
アクセスからエクセルへ出力時...
-
グラフマクロで系列を変数にす...
-
FindNextがうまくいかない
おすすめ情報