
【やりたい事】
以下画像の、赤枠部分を切取し、上のデータの
最終行の下(A6)に貼付したいです
以下のコードは、やりたい事を実現するコードです
●他の方法で、簡単に、分かりやすいコードをご存じの方アドバイス等含め
ご指南をお願いします
【条件】
・上データの最終行の次の行から、下データの開始行の間は
常に【9セル】空いています
・上のデータと下のデータの数は、増えたり減ったりします
【コード】
Sub データをつなげる()
Dim lastrow As Long
lastrow = Cells(1, 1).End(xlDown).Row
Cells(lastrow + 9, "A").CurrentRegion.Cut
Cells(lastrow + 1, "A").Select
ActiveSheet.Paste
End Sub

No.3ベストアンサー
- 回答日時:
こんにちは
ご質問文に記載のない条件が不明なので、よくわかりませんけれど・・
タイトルにある「上のデータに下のデータを結合する」ような場合に、よく用いられるのは『空白行を削除して上に詰める』という処理だと思います。
ただし、これはご提示の条件には必ずしも当てはまらない(=空白の連続行数を考慮しない)ので、採用はできなさそうですね。
一方で、示された条件には、
>常に【9セル】空いています
とありますが、ご提示の図では、空白セルは8つで、矛盾しているように見えます。
また、ご提示のコードの場合、最初のデータの連続が1つ(要は、A1セルにのみ値があり、A2セルから空白)の場合は、うまく行かないと思いますし、元データがA1セルのみ(または全体が空白列)になっているとエラーになります。
とは言え、そのようなことはないものと想定してよいという条件なのだと解釈しました。
>他の方法で、簡単に、分かりやすいコードを~~
ご提示の処理内容でよいのなら、ご提示のコードは十分に簡単でわかりやすいと思いますので、それ以上に分かりやすいものはほぼないでしょう。
多少なりとも、短い記述にするのなら、
With Cells(1, 1).End(xlDown)
.Offset(9).CurrentRegion.Cut .Offset(1)
End With
などでも可能ですが、簡単で分かりやすいかについては不明です。
(↑人にもよると思いますので・・)
また、上記記述はご提示のコードと処理内容は同じですので、元データの状態によってはエラーが発生する点なども変わりはありません。
No.2
- 回答日時:
空いているセルの数に関係なく、空白行を詰めるマクロです。
Public Sub 空白行削除()
Dim lastrow As Long
Dim arr As Variant
Dim i As Long
Dim j As Long: j = 1
lastrow = Cells(Rows.count, 1).End(xlUp).Row
If lastrow < 2 Then Exit Sub
arr = Range(Cells(1, 1), Cells(lastrow, 1)).Value
Range(Cells(1, 1), Cells(lastrow, 1)).ClearContents
For i = 1 To UBound(arr, 1)
If arr(i, 1) <> "" Then
Cells(j, 1).Value = arr(i, 1)
j = j + 1
End If
Next
End Sub
No.1
- 回答日時:
こんなのはどうです?forループ最強
Sub remove9blanks()
For iy = 1 To Cells(1, 1).End(xlToRight).Column
lastrow1 = Cells(1, iy).End(xlDown).Row
x2 = lastrow1 + 10
lastrow2 = Cells(x2, iy).End(xlDown).Row
For ix = x2 To lastrow2
Cells(ix - 9, iy).Value = Cells(ix, iy).Value
Cells(ix, iy).Value = ""
Next
Next
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】Formulaプロパティにて、3行全てに、数式を入れるためには? 2 2025/02/23 14:23
- Excel(エクセル) 【マクロ】アクティブセルの行のデータをクリアするマクロについて 1 2024/06/12 06:45
- Excel(エクセル) エクセルマクロでデータ出力の際の条件がうまく機能しません。 2 2023/09/30 13:01
- Visual Basic(VBA) VBAコードが作動しません。修正したいのですが何処に原因かあるか教えて下さい。 1 2024/01/08 16:23
- Visual Basic(VBA) A2~I4179列にあるリストを支社名ごとにシートに分けたいです。 各シート名はA列にある支社名とし 3 2023/08/29 16:46
- Visual Basic(VBA) ユーザーフォームに別シートからデータを反映させたい。 10 2023/11/03 08:46
- Excel(エクセル) 【マクロ】book1からbook2への適切な転記が出来ない件 2 2023/11/08 17:23
- Excel(エクセル) マクロについて 2 2023/10/20 14:29
- Excel(エクセル) エクセルマクロでデータ出力の際の条件がうまく機能しません。 5 2023/10/01 12:50
- Excel(エクセル) 【マクロ】転記ツール。転記先にデータがある場合、上書きするか消すか質問をして欲しい 2 2023/10/29 22:52
このQ&Aを見た人はこんなQ&Aも見ています
-
別のシートの指定列の最終行を返す関数の式を教えて下さい。
Excel(エクセル)
-
条件付き書式の効率的な設定の仕方について
Excel(エクセル)
-
AM8:30から翌朝8:30まで勤務する消防士です 時間外勤務の管理を任されました 作成したEXCE
Excel(エクセル)
-
-
4
Excel関数の解決方法
Excel(エクセル)
-
5
excelですが一つのマスに入ってる文字を2つのマスに変更できますか
Excel(エクセル)
-
6
エクセルオートサムでセル選択できません
Excel(エクセル)
-
7
ExcelのIF関数との組み合わせの相談
Excel(エクセル)
-
8
エクセルのファイルのコピーをとりたい
Excel(エクセル)
-
9
システムファイルについて
Excel(エクセル)
-
10
自動的に日付入力 応用
Excel(エクセル)
-
11
Excelの条件付書式について教えてください。
Excel(エクセル)
-
12
Excelでの文字入力について
Excel(エクセル)
-
13
至急お願いします!エクセルのフィルターについて
Excel(エクセル)
-
14
Excelについて教えてください。
Excel(エクセル)
-
15
【マクロ】コードを少しでも、減らする為には
Excel(エクセル)
-
16
エクセルのdatedif関数を使って、年齢と月齢を入力しました。 関数を入力して、問題なく使えたので
Excel(エクセル)
-
17
9月17日でサービス終了らしいのですが、今までのようなエクセルの質問や相談はどこですればいい?
Excel(エクセル)
-
18
【マクロ】WEBシステムから保存ではなく、開いたExcelデータを変数に入れる事が出来る?
Excel(エクセル)
-
19
Excelで合計を求めたいです
Excel(エクセル)
-
20
桁をセルで区切って計算をした場合、合計がしっかりと繰り上げされた形式で表示される方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル ドロップダウンリスト...
-
特定のセルだけ結果がおかしい...
-
エクセルのdatedif関数を使って...
-
エクセルの循環参照、?
-
【関数】同じ関数なのに、エラ...
-
【マクロ】列を折りたたみ非表...
-
【マクロ】【配列】3つのシー...
-
【マクロ】アクティブセルの時...
-
iPhoneのExcelアプリで、別のシ...
-
【マクロ】EXCELで読込したCSV...
-
【条件付き書式】シートの中で...
-
【マクロ】3行に上から下に並...
-
【マクロ】オートフィルターの...
-
【マクロ】A列にある、日付(本...
-
vba テキストボックスとリフト...
-
エクセル
-
【エクセル】期限アラートについて
-
Excel 複数のセルが一致すると...
-
【マクロ】WEBシステムから保存...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelファイルを開くと私だけVA...
-
エクセルについてどう関数を使...
-
マクロ・VBAで、当該ファイルの...
-
エクセルのセルに画像は埋め込...
-
エクセルで、一部のセルだけ固...
-
【マクロ、画像あり】A表かB表...
-
エクセルでカウントする
-
【マクロ】コードを少しでも、...
-
VBA_日時のソート
-
エクセルで教えてください。 例...
-
エクセル 月間シフト表で曜日ご...
-
セルの左に余白を付ける
-
エクセル
-
エクセルについて教えてください
-
2枚のエクセル表で数字をマッチ...
-
ExcelのIF関数との組み合わせの...
-
エクセルのファイルのコピーを...
-
エクセルで二つのブックの違い...
-
空白処理を空白に
-
Excelのチェックボックスについ...
おすすめ情報