
いつもお世話になっております。
この度、ExcelVBAで複数指定範囲を別シートに貼り付ける構文のご教示をいただきたく質問させていただきました。
処理の内容としましては(D12セル)から【最終行まで】)+(Y12セル)から【最終行まで】)+(P12セル)から【最終行まで】)を【決算表】という別シート(A3セル)に貼り付けたい内容となります。
ここで注意点がございまして1セルだけの場合の処理時にフリーズしない様、A12セルにデータが入っている場合に限り処理を行いたく、ご教示の程よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
#1です
こんな感じかな
書き方色々あるのですが コピー方向が分からなかったので
改修しやすい(私的に)書き方で
Sub 右方向()
Dim n As Integer, r As Range
With Worksheets("管理表")
For Each r In .Range("D12,Y12,P12")
If .Range("A12") <> "" Then
.Range(r, .Cells(Rows.Count, r.Column).End(xlUp)).Copy _
Worksheets("決算表").Range("A3").Offset(, n)
n = n + 1
End If
Next
End With
End Sub
Sub 下方向()
Dim n As Integer, r As Range
With Worksheets("管理表")
For Each r In .Range("D12,Y12,P12")
If .Range("A12") <> "" Then
.Range(r, .Cells(Rows.Count, r.Column).End(xlUp)).Copy _
Worksheets("決算表").Cells(Rows.Count, "A").End(xlUp).Offset(1)
End If
Next
End With
End Sub
Qchan1962様、VBAの構築ありがとうございます。
私のコピー方向先の説明不足に両方作成していただきありがとうございます。
右方向の処理が私が求めていた動きとなりました。
大事に活用させていただきます。
この度はありがとうございました。
No.1
- 回答日時:
こんばんは
VBAを実行するにあたり不明な点がいくつかあります・・
①シートに貼り付ける
書式や数式すべて?それとも値?
②+
行方向?列方向?
③列 D Y P の順番と言う事?
④A12セル
どのシート?
⑤コピー元シート名は?
Qchan1962様、回答ありがとうございます。
下記内容の補足をさせていただきます。
①書式と罫線含め全て貼り付け。
②こちらの+はそれぞれのセルの下記データ末尾までとなりますのでD12、Y12、P12セルより下方向の末尾までの説明となります。
③D、Y、Pの順番で合っております。
④貼り付け元のシート名は【管理表】。
⑤貼り付け先のシート名は【決算表】という名のシートになっております。
説明が足りず申し訳ございません。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
ExcelVBAを使って、値...
-
5
特定のセルが空白だったら、そ...
-
6
Excel VBA、 別ブックの最終行...
-
7
セル色なしの行一括削除
-
8
B列に特定の文字列が入っている...
-
9
EXCELで変数をペーストしたい
-
10
vba 隣のセルに値がある行だけ...
-
11
プラスの数をマイナスにしたい...
-
12
Excelのハイパーリンクにマクロ...
-
13
Application.Matchで特定行の検索
-
14
エクセルの複数データーをダブ...
-
15
連続する複数のセル値がすべて0...
-
16
VBAでマクロ実行中はExcelのマ...
-
17
”戻り値”が変化したときに、マ...
-
18
エクセル マクロで セルの範...
-
19
screenupdatingが機能しなくて...
-
20
Excelで指定した日付から過去の...
おすすめ情報
公式facebook
公式twitter