
【やりたい事】
以下画像の、赤枠部分を切取し、上のデータの
最終行の下(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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
別のシートの指定列の最終行を返す関数の式を教えて下さい。
Excel(エクセル)
-
条件付き書式の効率的な設定の仕方について
Excel(エクセル)
-
excelですが一つのマスに入ってる文字を2つのマスに変更できますか
Excel(エクセル)
-
-
4
AM8:30から翌朝8:30まで勤務する消防士です 時間外勤務の管理を任されました 作成したEXCE
Excel(エクセル)
-
5
システムファイルについて
Excel(エクセル)
-
6
自動的に日付入力 応用
Excel(エクセル)
-
7
Excelでの文字入力について
Excel(エクセル)
-
8
Excel関数の解決方法
Excel(エクセル)
-
9
Excelの条件付書式について教えてください。
Excel(エクセル)
-
10
Excelについて教えてください。
Excel(エクセル)
-
11
エクセルオートサムでセル選択できません
Excel(エクセル)
-
12
ExcelのIF関数との組み合わせの相談
Excel(エクセル)
-
13
至急お願いします!エクセルのフィルターについて
Excel(エクセル)
-
14
【マクロ】コードを少しでも、減らする為には
Excel(エクセル)
-
15
エクセルのファイルのコピーをとりたい
Excel(エクセル)
-
16
エクセルのdatedif関数を使って、年齢と月齢を入力しました。 関数を入力して、問題なく使えたので
Excel(エクセル)
-
17
9月17日でサービス終了らしいのですが、今までのようなエクセルの質問や相談はどこですればいい?
Excel(エクセル)
-
18
【マクロ】WEBシステムから保存ではなく、開いたExcelデータを変数に入れる事が出来る?
Excel(エクセル)
-
19
【マクロ】列を折りたたみ非表示したセルの内、可視セルをコピーするとがエラーとなる
Excel(エクセル)
-
20
【関数】=EXACT(a1,b1) a1とb1が空白の場合trueではなく、空白を返すには?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのVBAで集計をしたい
-
【マクロ】実行時エラー '424':...
-
【画像あり】オートフィルター...
-
【マクロ】左のブックと右のブ...
-
【マクロ】数式を入力したい。...
-
【マクロ】元データと同じお客...
-
【マクロ】【相談】Excelブック...
-
Office2021のエクセルで米国株...
-
vba テキストボックスとリフト...
-
【マクロ】【配列】3つのシー...
-
他のシートの検索
-
【マクロ】変数に入れるコード...
-
エクセルのリストについて
-
エクセルの関数について
-
【関数】3つのセルの中で最新...
-
【マクロ】excelファイルを開く...
-
エクセルシートの見出しの文字...
-
LibreOffice Clalc(またはエク...
-
【関数】=EXACT(a1,b1) a1とb1...
-
エクセルの複雑なシフト表から...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】元データと同じお客...
-
エクセルの関数について
-
【画像あり】オートフィルター...
-
エクセルのVBAで集計をしたい
-
エクセルのリストについて
-
【マクロ】数式を入力したい。...
-
【マクロ】【相談】Excelブック...
-
Office2021のエクセルで米国株...
-
【マクロ】実行時エラー '424':...
-
他のシートの検索
-
エクセルの複雑なシフト表から...
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
【マクロ】左のブックと右のブ...
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】別ファイルへマクロ...
-
【関数】同じ関数なのに、エラ...
-
Amazonでマイクロソフトオフィ...
-
ページが変なふうに切れる
おすすめ情報