Excel VBA 質問スレッド №1777 (未解決)
隣の列のデータの切れ目までオートフィル
投稿者 : もり 投稿日時 : 2024/02/14(Wed) 21:46:27 OS : 未指定 EXCEL : 未指定
データの塊が一つの時は、隣の列の最下行まで指定してオートフィルする方法は分かるのですが、
例のように塊が2つ以上ある状態で、B1からB4まで冬を、B7〜B9まで春を、オートフィルする方法が知りたいです。
出すデータによってこの塊の長さは異なるので、セル番地での指定ができません。
いいアイデアがありましたらご教示くださいませ。
A B
1 1/1 冬
2 1/2
3 1/3
4 1/4
5
6
7 4/1 春
8 4/2
9 4/3
10
データの塊が一つの時は、隣の列の最下行まで指定してオートフィルする方法は分かるのですが、
例のように塊が2つ以上ある状態で、B1からB4まで冬を、B7〜B9まで春を、オートフィルする方法が知りたいです。
出すデータによってこの塊の長さは異なるので、セル番地での指定ができません。
いいアイデアがありましたらご教示くださいませ。
A B
1 1/1 冬
2 1/2
3 1/3
4 1/4
5
6
7 4/1 春
8 4/2
9 4/3
10
スポンサーリンク
[返信 1] Re : 隣の列のデータの切れ目までオートフィル
投稿者 : 気分 投稿日時 : 2024/02/14(Wed) 22:44:06
>塊が2つ以上ある状態
塊分(例ではB1)セルの右下角をWクリックするしかないと思います
>塊が2つ以上ある状態
塊分(例ではB1)セルの右下角をWクリックするしかないと思います
[返信 2] Re : 隣の列のデータの切れ目までオートフィル
投稿者 : 気分 投稿日時 : 2024/02/14(Wed) 22:46:38
例ではB1とB7
例ではB1とB7
[返信 3] Re : 隣の列のデータの切れ目までオートフィル
投稿者 : さんこう 投稿日時 : 2024/02/15(Thu) 09:27:30
>出すデータによってこの塊の長さは異なるので、セル番地での指定ができません。
参考になれば。
>出すデータによってこの塊の長さは異なるので、セル番地での指定ができません。
参考になれば。
Sub Test()
r = Cells(Rows.Count, "A").End(xlUp).Row
Do While r > 1
r0 = Cells(r, "A").End(xlUp).Row
MsgBox "A" & r0 & ":A" & r
r = Cells(r0, "A").End(xlUp).Row
Loop
End Sub
[返信 4] Re : 隣の列のデータの切れ目までオートフィル
投稿者 : ピロリ 投稿日時 : 2024/02/15(Thu) 21:08:17
こういうことですか?
こういうことですか?
Sub Sample()
Dim LastRow As Long, R1 As Long, R2 As Long
R1 = 1: LastRow = Cells(Rows.Count, "A").End(xlUp).Row
Do While R1 <= LastRow
If Cells(R1, "A") = "" Then R1 = Cells(R1, "A").End(xlDown).Row
If Cells(R1 + 1, "A") <> "" Then
R2 = Cells(R1, "A").End(xlDown).Row
If LastRow < R2 Then Exit Do
Cells(R1, "B").AutoFill Range(Cells(R1, "B"), Cells(R2, "B"))
R1 = R2 + 1
Else
R1 = R1 + 1
End If
Loop
End Sub
当掲示板について
- Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
- 記事内ではHTMLのタグは使用できません。
- 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
- Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
- Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
( 処理日時 : 2026-04-05 13:41:40 )