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で質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 11:55
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Excel(エクセル) マクロ作成初心者です。CSVファイルの日付データについて 3 2022/12/14 06:02
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル マクロ 値のある行...
-
マクロ初心者です。 日がすぎた...
-
エクセルで複数セル範囲をコピ...
-
テキストファイルのデータをエ...
-
Google form グーグルフォーム...
-
1MBでドレくらいの文章を書くこ...
-
エクセルでセル未入力時の初期...
-
テキストファイルで改行に置換...
-
PDF 入力途中で改行したい
-
wordの差込印刷(ラベル作成)...
-
「ディ」はどう入力すればいい...
-
一太郎で作った文書をWord変換
-
googleカレンダーの予定を入力...
-
「ドゥ」の簡単なローマ字入力方法
-
作ったマクロを複数のシートで...
-
上ハイフンの打ち方
-
JUST PDF 3 傾き補正
-
ワードにて スペースを全て改行...
-
InDesignでの文字入力ですが。
-
一太郎ファイルをExcelで開きたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルにて表に入力→一覧に自...
-
エクセルで複数セル範囲をコピ...
-
エクセルで空白の項目セルを削...
-
画像のCSVデータをガントチャー...
-
エクセル 細かい条件での切り...
-
従事期間の重複チェック、表示
-
テキストファイルのデータをエ...
-
エクセルの行列方向での並び替え
-
エクセルでのデータ蓄積
-
オートフィルターで抽出された...
-
エクセルでのセルへ入力日の記...
-
エクセルで苦労してます
-
エクセル マクロ 値のある行...
-
エクセルでの計量分析のやり方...
-
Google form グーグルフォーム...
-
「ドゥ」の簡単なローマ字入力方法
-
1MBでドレくらいの文章を書くこ...
-
ワードにて スペースを全て改行...
-
PDF 入力途中で改行したい
-
テキストファイルで改行に置換...
おすすめ情報