
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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Excel(エクセル) VBA セルの値と同じ名前のシートにデータを貼り付けするやり方を教えてください 2 2022/05/17 16:26
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 11:55
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) VBAマクロでシートコピーした新シートにコピー元シートとの計算式の入れ方を教えて下さい。 5 2022/11/20 09:48
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/26 09:50
このQ&Aを見た人はこんなQ&Aも見ています
-
ある条件を満たすセルに対応する行のセル内容をコピーして・・
Visual Basic(VBA)
-
VBA 条件が一致した場合のみコピーする
その他(ビジネス・キャリア)
-
vba 2つの条件が一致したらコピーして別シートに値のみ貼り付け
Visual Basic(VBA)
-
-
4
エクセルVBAのIFを使ったコピペ
Excel(エクセル)
-
5
VBAで条件が一致する行をコピーしその1つ下へ挿入
Excel(エクセル)
-
6
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
7
マクロ自動コピペ 貼り付ける場所が変わる場合
その他(Microsoft Office)
-
8
VBA 空白行に転記する
Visual Basic(VBA)
-
9
【VBA】特定列に文字が入っていたらそのセル行をコピーしてマスターブックの同じ行に貼り付けたい
その他(Microsoft Office)
-
10
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
11
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
12
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
13
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
14
VBAで転記すると元のシートの条件付き書式が消えてしまいます。
Excel(エクセル)
-
15
マクロで貼り付け位置を可変させる方法が知りたいです。
Excel(エクセル)
-
16
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
17
エクセル マクロ 貼り付け先が空白でない場合 1行下に貼りつける
Excel(エクセル)
-
18
vba 隣のセルに値がある行だけ関数をコピー&ペーストしたい A1 100001 A2 100002
Visual Basic(VBA)
-
19
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
20
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAで、散布図のデータ範...
-
VBA 空白行に転記する
-
EXCELのSheet番号って変更でき...
-
楽天RSSからエクセルVBAを使用...
-
エクセルでデータの比較をした...
-
VBAで変数の数/変数名を動的に...
-
テキストボックスから、複数の...
-
VBA Userformで一部別シートに...
-
GASでチェックボックスを一括of...
-
VBA別シートの最終行の次行へ転...
-
VBA 別ブックからの転記の高速...
-
Excel VBA オートフィルターで...
-
VBA 実行時エラー1004 rangeメ...
-
【VBA】特定の条件でセルをコピー
-
VB2005でExcelのグラフのデータ...
-
セルの値と同じ名前のシートに...
-
100万件越えCSVから条件を満た...
-
同じ処理を処理数分記述せず、...
-
Excel2013で切り取り禁止
-
マクロでシートからシートへの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELのSheet番号って変更でき...
-
マクロの「SaveAs」でエラーが...
-
マクロ実行後に別シートの残像...
-
VBA 空白行に転記する
-
VBA別シートの最終行の次行へ転...
-
Count Ifのセルの範囲指定に変...
-
【VBA】データを各シートに自動...
-
Changeイベントで複数セルへの...
-
VBAで変数の数/変数名を動的に...
-
VBA 別ブックからの転記の高速...
-
Excel VBA オートフィルターで...
-
【VBA】特定の条件でセルをコピー
-
VBAでEXCELから固定長...
-
Excel2013で切り取り禁止
-
Unionでの他のシートの参照につ...
-
楽天RSSからエクセルVBAを使用...
-
100万件越えCSVから条件を満た...
-
ExcelのVBマクロを、バックグラ...
-
VBA 実行時エラー1004 rangeメ...
-
同じ作業(データコピー・貼付...
おすすめ情報