
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も見ています
-
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
-
4
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
5
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
6
VBA CommandButtonの文字ずれ
Visual Basic(VBA)
-
7
エクセルのマクロボタンが編集できません
Excel(エクセル)
-
8
VBA:小数点以下の数字を取得できる関数は?
Visual Basic(VBA)
-
9
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
10
「Columns(A:C")」の列文字を数字にして表記したい"
Excel(エクセル)
-
11
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
12
VBAで、なぜかSendkeyが効きません。
PowerPoint(パワーポイント)
-
13
EXCEL(VBA) 末尾の改行のみ削除したい
Excel(エクセル)
-
14
VBA 数式を残して値をクリアについて
Excel(エクセル)
-
15
VBA: UsedRange.Clearでクリア?
その他(プログラミング・Web制作)
-
16
【Excel】 csvの作成時、空白セルにもカンマ
Excel(エクセル)
-
17
ExcelVBAでセルを編集状態にする方法
Excel(エクセル)
-
18
Excelマクロ 空白セルを無視してCSV出力
Excel(エクセル)
-
19
マクロの「Rangeメソッドは失敗しました’Globalオブジェクト」エラーの解決方法について
Excel(エクセル)
-
20
エクセルで空白セルを含む列の最終行の値を取得する式を教えてください
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
質問58753 このコードでうまく...
-
【マクロ】並び替えの範囲が、...
-
以下のプログラムの実行結果は...
-
vbs ブック共有を解除
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
エクセルのマクロについて教え...
-
エクセルの改行について
-
Excelのマクロについて教えてく...
-
VBAでユーザーフォームを指定回...
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
-
[VB.net] ボタン(Flat)のEnable...
-
Excel 範囲指定スクショについ...
-
【マクロ】値を渡されたプロシ...
-
Excelのマクロについて教えてく...
-
Excel VBA 選択範囲の罫線色の...
-
エクセルのVBAコードと数式につ...
-
【マクロ】変数を使った、文字...
-
エクセルのVBAコードについて教...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
testファイル内にある複数のpng...
-
改行文字「vbCrLf」とは
-
エクセルVBA 検索結果を隣のシ...
-
vb.net(vs2022)のtextboxのデザ...
-
エクセルのVBAコードと数式につ...
-
【マクロ】切取りの場合、形式...
-
【ExcelVBA】5万行以上のデー...
-
ExcelVBAでパワポを操作したい
-
(EXCEL超初心者)EXCELの関数(ま...
-
エクセルの改行について
-
Excelマクロで使うVBAコードを...
-
ワードの図形にマクロを登録で...
-
【マクロ】変数を使った、文字...
-
VBAでFOR NEXT分を Application...
-
VBAの質問(Msgboxについて)です
-
エクセルのVBAコードについて教...
-
Excelマクロで使うVBAコードを...
-
Excelのマクロについて教えてく...
-
VBAの「To」という語句について
-
【マクロ】値を渡されたプロシ...
おすすめ情報