「シート1」のC・E・I・O列の値を図のような配置で「シート3」に値で貼り付けたいです。
「シート1」のグループには空白がある場合があります。
「シート3」にはすでに項目が埋まっている場合があります、仮に5番まで埋まっていたら
次の6番に「シート1」の項目を追加していきたいです。
「シート1」が未入力の場合、そのまま空白を「シート3」の空き項目に値で貼り付けたいです。
「シート1」と同じフォーマットで入力済の「シート2」が存在した場合、同じマクロを実行したとき
「シート3」の空き項目に貼り付けたいからです。
グループに空白があるとどう貼り付ければ良いかわからなくなり、もう降参です。
お詳しい方教えてください、宜しくお願いいたします。
No.1
- 回答日時:
>「シート1」と同じフォーマットで入力済の「シート2」が存在した場合、>同じマクロを実行したとき
>「シート3」の空き項目に貼り付けたいからです。
この意味がよくわかりません。
提示されたマクロの機能は、シート1の内容をシート3に貼り付けかと思います。
シート2の内容をシート3に貼り付ける機能も、このマクロは持っているのですか?
No.2
- 回答日時:
こんばんは
要件が足りていないような・・・
>「シート1」と同じフォーマットで入力済の「シート2」が存在した場合、
これはどういう事でしょうか・・・
「シート1」から「シート3」を作るだけならデータ全てを処理すれば良いけれど・・条件により出力したりしなかったりするのかな?
だとすると「シート1」の5行目だけを対象に「シート3」に追加すれば良いのでしょうか?
「シート1」の全データを対象に加工するのであれば 一例ですが下記の様な処理は参考になりますか
Sub test()
Dim dataRowCount As Long
Dim Ary()
Dim i As Long, n As Long
With Sheets("Sheet1")
dataRowCount = .Range("C5", .Cells(Rows.Count, "C").End(xlUp)).Rows.Count * 2
ReDim Ary(dataRowCount, 4)
For i = 5 To .Cells(Rows.Count, "C").End(xlUp).Row
Ary(n, 0) = .Cells(i, "C")
Ary(n, 2) = .Cells(i, "O")
Ary(n, 4) = .Cells(i, "I")
Ary(n + 1, 0) = "'" & .Cells(i, "E")
n = n + 2
Next
End With
Sheets("Sheet3").Range("C11").Resize(UBound(Ary, 1) + 1, UBound(Ary, 2) + 1).Value = Ary
End Sub
1行を出力する場合(あまり良い方法では無いかも)
Sub test_01()
Dim rng As Range
Dim n As Long
n = 5 '5行目を出力
Set rng = Sheets("Sheet3").Cells(Rows.Count, "C").End(xlUp).Offset(1)
With Sheets("Sheet1")
rng.Offset(, 0) = .Cells(n, "C")
rng.Offset(, 2) = .Cells(n, "O")
rng.Offset(, 4) = .Cells(n, "I")
rng.Offset(1, 0) = "'" & .Cells(n, "E") '文字のようなので
End With
End Sub
'文字のようなので これを実行すると ' がセルに入力されます
入力されているので次の最終行が取得できます(文字列として扱われます)
No.3ベストアンサー
- 回答日時:
こんばんは
ご説明の内容がよく理解できないのですが、勝手に想像と空想で埋めて・・・
>グループに空白があるとどう貼り付ければ良いかわからなくなり~
どうしたいのかよくわかりません。
空白だろうが空白でなかろうが、単純に転記するのではダメなのでしょうか?
以下は、単純に転記するだけの例です。(なさりたいこととは違うのかも知れませんが)
※ シートのレイアウトはご提示の添付図の通りと仮定
※ シート名は「シート1」、「シート3」と仮定
Sub Q_13390927()
Dim sh As Worksheet, rw As Long
Dim sRange As Range, dRange As Range
Set sh = Worksheets("シート1")
With Worksheets("シート3")
rw = .Cells(Rows.Count, 3).End(xlUp).Row + 1
rw = Application.Max(Int(rw / 2) * 2 + 1, 11)
Set dRange = .Cells(rw, 3).Resize(2, 5)
End With
For rw = 5 To sh.Cells(Rows.Count, 3).End(xlUp).Row
Set sRange = sh.Cells(rw, 3).Resize(1, 13)
dRange(1).Value = sRange(1).Value
dRange(3).Value = sRange(13).Value
dRange(5).Value = sRange(7).Value
dRange(6).Value = sRange(3).Value
Set dRange = dRange.Offset(2)
Next rw
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) エクセルマクロ オートフィルターでで選択コピー 2 2022/04/18 11:05
- Visual Basic(VBA) 範囲を指定して別シートにコピペ 2 2022/09/15 07:32
- Visual Basic(VBA) 【VBA】指定した検索条件に一致したら別シートに転記したい 2 2022/03/23 16:14
- Visual Basic(VBA) シート間で同じ値があったら指定範囲をコピーして貼り付け 1 2022/11/07 08:01
- Visual Basic(VBA) シート間で同じ値があったらコピペ 1 2022/05/08 09:39
- Excel(エクセル) エクセルシートのデータを1列飛ばしで別ブックのシートに貼り付けるマクロが知りたい 2 2023/06/05 22:37
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
- Visual Basic(VBA) 別ブックの列同士の値が一致したときの処理 1 2022/09/03 08:27
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別のシートから値を取得するとき
-
Excel マクロについての相談
-
別のシートを参照して計算する方法
-
エクセルのマクロについて教え...
-
ブック名、シート名を他のモジ...
-
VBA 最終行まで数式をコピーする
-
【ExcelVBA】全シートのセルの...
-
特定の文字を含むシートだけマ...
-
エクセルのマクロについて教え...
-
VBA 入力月で該当シートを選択...
-
一括印刷マクロ シート名を数字...
-
【ExcelVBA】動的にボタン、ボ...
-
VBA 存在しないシートを選...
-
同じ作業を複数のシートに実行...
-
ListViewの画面の更新
-
実行時エラー1004「Select メソ...
-
シートが保護されている状態で...
-
エクセルで通し番号を入れてチ...
-
【VBA】指定した検索条件に一致...
-
ユーザーフォームに入力したデ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別のシートから値を取得するとき
-
ユーザーフォームに入力したデ...
-
【ExcelVBA】全シートのセルの...
-
同じ作業を複数のシートに実行...
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
XL:BeforeDoubleClickが動かない
-
ExcelVBA シート名を複数セルか...
-
実行時エラー'1004': WorkSheet...
-
VBA 存在しないシートを選...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
ブック名、シート名を他のモジ...
-
【Excel VBA】Worksheets().Act...
-
ExcelのVBAのマクロで他のシー...
-
エクセルのシート名変更で重複...
-
特定の文字を含むシートだけマ...
-
シートが保護されている状態で...
-
Excel マクロについての相談
-
VBA 検索して一致したセル...
おすすめ情報
すいません、言葉が足りていませんでした。
シート2にも同じようなマクロを追加して実行したときに、シート3の空き項目に貼り付けることも想定しているというだけの事です。特に関係ありません、申し訳ないです。