No.3ベストアンサー
- 回答日時:
#2 です。
ついでに補足を。実務的には、データのある最終行とか最終セルがほしいことがほとんど
ですよね。SpecialCells(xlLastCell) でも UsedRange でもその動作仕様
を理解している場合は問題なく使えますが、こんな方法が最も確実だった
りします。
Sub Sample2()
Dim r As Range
Set r = FindLastCell(ActiveSheet)
MsgBox r.Address
End Sub
' // シート内の最終データセルを求める(最後のセルではない)
Public Function FindLastCell(ByVal Sh As Worksheet) As Range
Dim lRow As Long, lCol As Long
On Error GoTo Err_
lRow = Sh.Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchDirection:=xlPrevious, _
SearchOrder:=xlByRows).Row
lCol = Sh.Cells.Find(What:="*", _
SearchDirection:=xlPrevious, _
SearchOrder:=xlByColumns).Column
Set FindLastCell = Sh.Cells(lRow, lCol)
Bye_:
Exit Function
Err_:
' // case no data in the worksheet.
Set FindLastCell = Sh.Cells(1, 1)
Resume Bye_
End Function
No.5
- 回答日時:
Excel で最終行の取得方法は複数あります。
下のサイトで検証されています。すべてを試されてはいかがでしょうか。
ノーツ/ドミノ パワーアップガイド (toru's page) - No.8 ワークシートの最終行、最終列を取得する
http://www.niji.or.jp/home/toru/notes/8.html
No.4
- 回答日時:
ActiveSheet.Cells.SpecialCells(xlLastCell).Row
の仕様上の問題です。まぁバグと言ってしまえばそうなんですが、最早そういう仕様という認識をされた方がよいかと。VBAのサンプルサイトでもその方法を推奨しているところはあまり見かけたことはありません。あったとしても下記のようにちゃんと注意点が書かれていたりします。
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub0 …
対策としてはFAQサイトでサンプルとしてよく挙げられている方法を使うべきかと。
例えば下記とか。
ActiveSheet.Range("$A$65536").End(xlUp).Address
No.2
- 回答日時:
こんにちは。
ダミーで良いから一度 UsedRange を使うと最終セルが補正されます。
こんな感じ。
Sub Sample()
Dim lDummy As Long
lDummy = ActiveSheet.UsedRange.Row
MsgBox ActiveSheet.Cells.SpecialCells(xlLastCell).Row
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです 2 2023/03/05 02:44
- Visual Basic(VBA) 追記する列を増やしたい 2つのデータを検索・照合して元データにないデータを下記マクロで商品名を追記し 9 2022/10/05 10:50
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- Excel(エクセル) VBA : スクレイピングできない 4 2023/05/12 22:26
- Visual Basic(VBA) VBAでのループ順序について 3 2023/03/13 10:55
- Visual Basic(VBA) マクロで最終行を取得したい 4 2023/05/28 12:14
- Visual Basic(VBA) 最終列の右へSUM関数を作成するため下記コードを実行しましたが、最終列「10月28日」が上書きされて 3 2022/12/05 20:32
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- PHP PHPでテキストファイルに保存した時の改行問題 1 2022/11/19 15:07
- Visual Basic(VBA) Excel VBA キーワードから列を取得して、さらに空欄行を非表示にする 3 2022/10/21 22:49
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
-
4
エクセルでエラーが出て困っています。
Excel(エクセル)
-
5
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
6
Excelマクロ 空白セルを無視してCSV出力
Excel(エクセル)
-
7
CSV形式にすると出てくる空白を消したいです。
その他(Microsoft Office)
-
8
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
9
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
10
EXCELでCSVファイル保存するとデータが無いところにカンマ
その他(ソフトウェア)
-
11
Excel2000/VBA:値と書式のみ貼り付けたい。
Excel(エクセル)
-
12
EXCELからCSVにすると余計なカンマがつきます
Excel(エクセル)
-
13
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
14
「選択範囲を解除してアクティブセルを選択」をマクロで行うにはどうすればよいでしょうか
Excel(エクセル)
-
15
VBA 数値を文字列として貼付したい
Excel(エクセル)
-
16
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
17
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
18
エクセルでENTERを押すと数式がそのまま文字列になってしまう
Excel(エクセル)
-
19
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
20
【Excel】 csvの作成時、空白セルにもカンマ
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
サブフォルダに格納されている...
-
IF文、条件分岐の整理方法
-
VBAコードのインデント表示
-
【ExcelVBA】値を変更しながら...
-
VBA 別ブックからコピペしたい...
-
[VB.net] ボタン(Flat)のEnable...
-
【ExcelVBA】インデックスが有...
-
Excel VBA 定義されたプロージ...
-
Excel-VBAのmsgBox()の不思議
-
時間短縮のために、テキストフ...
-
vbaにてseleniumを使用したedge...
-
現在のブックを閉じないで、マ...
-
Outlookにて既にウィドウ単体で...
-
excelのVBAについて、以下のコ...
-
Excel VBA 選択範囲の罫線色の...
-
Excel関数またはVBAでの質問に...
-
Outlookの「受信日時」「件名」...
-
VBA実行後に元のセルに戻りたい
-
VBA ユーザーフォーム ボタンク...
-
VB.net(VB)で、フォームにExcel...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAなくなるの?
-
VBAでCOPYを繰り返すと、処理が...
-
vba 削除
-
プログラミング
-
Excelのマクロについて教えてく...
-
Excelのマクロについて教えてく...
-
エクセルのVBAコードについて教...
-
久しぶりのプログラミング
-
ユーザーフォームに別シートか...
-
エクセルVBAコードで教えて下さ...
-
VBA 別ブックからコピペしたい...
-
ExcelのVBAコードについて教え...
-
VBAコードについて教えてくださ...
-
vba アクティブシートの名前変...
-
Excelのマクロについて教えてく...
-
エクセルVBA
-
Geogebraの操作方法について
-
マクロの記録を使用したマクロ...
-
Excel(M365) Vlookup/セル反転(...
-
Excel 範囲指定スクショについ...
おすすめ情報