
No.1ベストアンサー
- 回答日時:
理由は、End(xlDown)で移動する先にデータがあるのかどうかと、
項目名(A1セル)が未入力でないことが前提だから。
https://www.moug.net/tech/exvba/0050088.html
質問文の一部では間違って書いたのでしょうが、A1セルが未入力
及びA2セル以降が空白セルの場合、End(xlDown)のキーボードの
動きである[Ctrl+↓]は最終行のA1048576セルに移動します。
ここからOffset(1, 0)で下のセルへと移動しようとしても、行がない
のですからエラーになります。
A1とA2に入力されていれば、Range("a1").End(xlDown)でA2セル
へと移動し、Offset(1, 0)でA3セルへと値を入力できるようになる
のでエラーにならないだけですから。
マクロだけで理解するより、既定の動作を理解することが先。
[Ctrl+↓]のキー動作を理解すれば、End(xlDown)を使わないで、
[Ctrl+↑]を使ったほうがOffset(1, 0)を生かせるのがわかるはず。
Sub 最終行()
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Value = "列の一番下"
End Sub
これを前回質問にある私のマクロに置き換えると、こうなります。
https://oshiete.goo.ne.jp/qa/13325229.html
Sub A列空白セルに本日の日付を入力()
If Cells(1, 1).Value = "" Then
Cells(1, 1).Select
ActiveCell.Value = Date
Else
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Value=Date
End If
End Sub
大変、分かりやすい説明ありがとうございます。マクロだけではなく、通常のハンド操作をした上で、マクロの方が理解できますね。
いつも、ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) VBAのoffsetの動き方について教えてください 3 2022/11/25 23:36
- Visual Basic(VBA) 2つのシートの任意のセルの番号が一致したら、一致した行をコピーする VBA 2 2023/06/19 20:48
- Visual Basic(VBA) 追記する列を増やしたい 2つのデータを検索・照合して元データにないデータを下記マクロで商品名を追記し 9 2022/10/05 10:50
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで日付から日にちを削...
-
Excelで2行単位のソートの出来...
-
エクセルで1列に500行並んだデ...
-
Countifよりも早く重複数をカウ...
-
excel:別シートの値を飛び飛び...
-
VBA 数式を最終行までコピー
-
エクセルで、重複データを除外...
-
複数の条件に合う行番号を取得...
-
Excelの30個ずつの平均値の出し方
-
差し込み印刷 «Next Record»に...
-
Excelで社員の本名をニックネー...
-
重複するデータの一部だけを抽...
-
エクセルの行の作り方
-
エクセルVBA C列に特定の文字列...
-
Excel VBA 【QueryTables.Add】...
-
エクセルで2つ以上のリスト比...
-
【エクセル】1列内に複数ある同...
-
エクセルで横並びの複数データ...
-
Excelで2つのデータの突合せを...
-
エクセル2016にて、行挿入&コピ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで日付から日にちを削...
-
Excelで2行単位のソートの出来...
-
複数の条件に合う行番号を取得...
-
エクセルで1列に500行並んだデ...
-
Countifよりも早く重複数をカウ...
-
excel:別シートの値を飛び飛び...
-
エクセルで、重複データを除外...
-
Excelの30個ずつの平均値の出し方
-
不要な行を消したい
-
VBA 数式を最終行までコピー
-
エクセルで横並びの複数データ...
-
エクセルVBA C列に特定の文字列...
-
エクセルで1つの会社名に対して...
-
エクセル~空白のセルのある行...
-
【Excel】小計単位で並べ替えを...
-
エクセルで重複データを削除す...
-
500行の中から、多い順に抽出す...
-
EXCELである範囲内での最大値の...
-
VBA 大きなtxtテキストファ...
-
重複するデータの一部だけを抽...
おすすめ情報