![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
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
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
5
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
6
EXCELでCSVファイル保存するとデータが無いところにカンマ
その他(ソフトウェア)
-
7
Excelマクロ 空白セルを無視してCSV出力
Excel(エクセル)
-
8
CSV形式にすると出てくる空白を消したいです。
その他(Microsoft Office)
-
9
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
10
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
11
Excel2000/VBA:値と書式のみ貼り付けたい。
Excel(エクセル)
-
12
エクセルでENTERを押すと数式がそのまま文字列になってしまう
Excel(エクセル)
-
13
EXCELからCSVにすると余計なカンマがつきます
Excel(エクセル)
-
14
VBA コレクションに2次元配列を追加して取り出す方法
Visual Basic(VBA)
-
15
VBA 数値を文字列として貼付したい
Excel(エクセル)
-
16
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
17
マクロの「SaveAs」でエラーが出るのを解消したいです(再)
Visual Basic(VBA)
-
18
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
-
19
エクセルVBAのIf,Then 構文でOr条件とAnd条件の結合方法?
Excel(エクセル)
-
20
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
重複確認
-
{ CONTROL Forms.Label.1}が...
-
マクロの記録を使用したマクロ...
-
エクセルのVBAコードについて教...
-
VBAでCOPYを繰り返すと、処理が...
-
vbaにてseleniumを使用したedge...
-
エクセルのマクロについて教え...
-
VBAなくなるの?
-
VBの色を変えるにはどうしたら...
-
VBA一覧取得 再投稿
-
IEを使わないでhtmlテキストを...
-
【VBA】カーソルのある行の1行...
-
Excel 範囲指定スクショについ...
-
vba アクティブシートの名前変...
-
Vba SelStart、SelLen教えてく...
-
for 文の 繰り返し処理に使える...
-
ユーザーフォームに別シートか...
-
久しぶりのプログラミング
-
ExcelのVBAコードについて教え...
-
Excel VBA ダブルクリックで入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAなくなるの?
-
VBAでCOPYを繰り返すと、処理が...
-
vba 削除
-
プログラミング
-
Excelのマクロについて教えてく...
-
Excelのマクロについて教えてく...
-
エクセルのVBAコードについて教...
-
久しぶりのプログラミング
-
ユーザーフォームに別シートか...
-
エクセルVBAコードで教えて下さ...
-
VBA 別ブックからコピペしたい...
-
ExcelのVBAコードについて教え...
-
VBAコードについて教えてくださ...
-
vba アクティブシートの名前変...
-
Excelのマクロについて教えてく...
-
エクセルVBA
-
Geogebraの操作方法について
-
マクロの記録を使用したマクロ...
-
Excel(M365) Vlookup/セル反転(...
-
Excel 範囲指定スクショについ...
おすすめ情報