
A 回答 (7件)
- 最新から表示
- 回答順に表示
No.7
- 回答日時:
#6です。
>また、A1にE1:G3を出力した後に、自動で最終行を認識し、その下に次のデータを足していく方法はありますか?
あれば、教えてほしいです。
それぞれの表をテーブル化しておけば大丈夫です。
A1セルに
=VSTACK(さんま,はまち,たまご)
No.6
- 回答日時:
マクロの練習ですか?
365なら、マクロでなくとも関数で即終了ですが。
参考図なら、
A1セルに
=VSTACK(E2:G4,I2:K4,M2:O4)
でご希望通りの表ができますよ。
No.5
- 回答日時:
>E:F、I:K、M:O列は可変です。
>E1:G4とかE1:G5とかのように1つのブロックが3行ではなく4行以上になることもあります。
ブロックは3ブロック固定で、各ブロックの最下行が変わると理解しました。以下のようになります。
Public Sub セルコピー()
Dim bx As Long 'ブロックの繰り返し
Dim bcol As Long 'ブロックの開始列
Dim lastrow As Long '各ブロックの最終行
Dim srow As Long '各ブロックの行番号
Dim trow As Long 'コピー先の行番号
bcol = 5 '5列から開始
trow = 1 '1行から開始
'3ブロック分繰り返す
For bx = 1 To 3
lastrow = Cells(rows.count, bcol).End(xlUp).Row 'ブロックの最終行取得
'1行~最終行まで繰り返す
For srow = 1 To lastrow
'1行ずつ転記(3列まとめて)
Cells(trow, 1).Resize(1, 3).Value = Cells(srow, bcol).Resize(1, 3).Value
'次の行に移動する
trow = trow + 1
Next
'次のブロックに移動する
bcol = bcol + 4
Next
End Sub
No.4
- 回答日時:
>A1にE1:G3を出力した後に、自動で最終行を認識し、その下に次のデータを足していく方法はありますか?
以下は、最下行を取得するマクロです。
A1にE1:G3を出力した後に
lastrow = Cells(rows.count, "A").End(xlUp).Row
を実行するとlastrowに3が設定されます。
従ってlastrow+1の行に次のデータを足していくことができます。
Public Sub 最下行取得()
Dim lastrow As Long
lastrow = Cells(rows.count, "A").End(xlUp).Row
MsgBox (lastrow)
End Sub
上記が最終行を求める方法ですが、
あなたが、自動で最終行を求めることを質問されたのは、コピー元が
提示された状態(E1:G3,I1:K3,M1:O3)ではなく、実際には可変だからではないでしょうか。
もし、そうだとすると、コピー元は、どのように可変なのでしょうか。
E1:G4とかE1:G5とかのように1つのブロックが3行ではなく4行以上になるということでしょうか。
それとも、E1:G3,I1:K3,M1:O3のあとにQ1:S3のように4つ以上のブロックがあるということでしょうか。
E:F、I:K、M:O列は可変です。
E1:G4とかE1:G5とかのように1つのブロックが3行ではなく4行以上になることもあります。
説明が足りなくて申し訳ございません。
No.3
- 回答日時:
よこからですが・・・
延々と質問が繰り返されるパターンですね。
>自動で最終行を認識し~~
検索してみることも考えましょう。
https://excel-ubara.com/excelvba1/EXCELVBA318.html
ご意見、ありがとうございます。
マクロはあんまり使うことがなくて、勉強していきたいと思っていますが、どこから着手したらいいのかも分からなくて。。。。。。
悩んでいました。
No.2
- 回答日時:
マクロの記録でつくれます。
以下は、マクロの記録で作成したマクロです。
Sub Macro1()
'
' Macro1 Macro
'
'
Range("E1:G3").Select
Selection.Copy
Range("A1").Select
ActiveSheet.Paste
Range("I1:K3").Select
Application.CutCopyMode = False
Selection.Copy
Range("A4").Select
ActiveSheet.Paste
Range("M1:O3").Select
Application.CutCopyMode = False
Selection.Copy
Range("A7").Select
ActiveSheet.Paste
End Sub
ご教示頂き、ありがとうございます。
上手く行きました。
また、A1にE1:G3を出力した後に、自動で最終行を認識し、その下に次のデータを足していく方法はありますか?
あれば、教えてほしいです。
No.1
- 回答日時:
これは簡単なマクロですので、一度挑戦してみましょう。
そしてマクロをつくって動かなければソースを貼り付けて相談して下さい。
VBAのスキルがないと、マクロをつくっても後のメンテナンスが大変ですよ。
それに、ここはマクロの作成を請け負う質問箱ではありませんので。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル 細かい条件での切り...
-
Google form グーグルフォーム...
-
PDF 入力途中で改行したい
-
一太郎をワードに変換
-
ワードにて スペースを全て改行...
-
JUST PDF 3 傾き補正
-
一太郎で作成した文書をコピペ...
-
Notionが、テーブルビューを一...
-
聖の王を壬の漢字変換を教えて...
-
丸囲み数字
-
wordの差込印刷(ラベル作成)...
-
入力装置に関しての質問
-
ワードで住所の漢数字番地の縦...
-
「ドゥ」の簡単なローマ字入力方法
-
小さい「う」
-
4個の文字a,b,b,cから3個の文字...
-
マル秘マークを入れたい
-
ワープロソフト一太郎の「感太...
-
一太郎に貼り付けられた画像を...
-
「ディ」はどう入力すればいい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの関数について、詳し...
-
従事期間の重複チェック、表示
-
エクセルにて表に入力→一覧に自...
-
エクセルのデータベースで参照...
-
エクセルで扱える行列数を増や...
-
【エクセルとメモ帳を照合したい】
-
エクセルでリストの作成
-
excel VBAを使って、データを自...
-
エクセル マクロ 値のある行...
-
ExcelVBA:たくさんのデータの...
-
テキストファイルのデータをエ...
-
エクセル 細かい条件での切り...
-
エクセルで複数セル範囲をコピ...
-
Google form グーグルフォーム...
-
Notionが、テーブルビューを一...
-
PDF 入力途中で改行したい
-
wordの差込印刷(ラベル作成)...
-
「ドゥ」の簡単なローマ字入力方法
-
1MBでドレくらいの文章を書くこ...
-
ワードにて スペースを全て改行...
おすすめ情報