解決済みの質問
■Excel2003-[VBA]-使用セルの最終行の行数を抽出する方法
■Excel2003-[VBA]-使用セルの最終行の行数を抽出する方法
例題::::::::::::::::::::::
インデックス番号1のシートの
使用セルの最終行の行数を
イミディエイトウィンドウに書出しなさい。
一例:
D10に何か文字を入力した場合→10
その後、AA100に数式を入力→100を抽出。
::::::::::::::::::::::::::
私の解は下記のようになりました。
''''''''''''''
Sub test()
Dim i As Integer
Dim erow As Long
With ThisWorkbook.Worksheets(1)
For i = 1 To .Columns.Count
If erow < .Cells(Rows.Count, i).End(xlUp).Row Then
erow = .Cells(Rows.Count, i).End(xlUp).Row
End If
Next
End With
Debug.Print erow
End Sub
''''''''''''''
もっとシンプルにできるんじゃないかと
思い調べてみたのですが見当たりません。
基本的なことなのかもしれませんが、
ご存知の方、お手すきの時で構いませんのでご教示お願い致します。
--------------------------------------------------
【追記】~今回の質問に至った理由~
下記URLの質問で本題はクリアできたと思うのですが・・・
エラー処理を考えていた際、今回の壁にぶつかりました。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1219756917
- 補足
- みなさま、回答有難うございます。
UsedRange プロパティ
http://msdn.microsoft.com/ja-jp/library/cc362327.aspx
備忘録:
ActiveSheet.UsedRange.Select
を実行するとすぐ理解できると思われます。
【UsedRangeプロパティの活用方法】
シートで簡易データベース
http://home.att.ne.jp/zeta/gen/excel/c03p04.htm
-
- 質問日時:
- 2008/10/10 23:41:05
-
- 解決日時:
- 2008/10/11 15:03:16
-
- 回答数:
- 2
-
- お礼:
- 知恵コイン
- 250枚
-
- 閲覧数:
- 1,009
-
- ソーシャルブックマークへ投稿:
- Yahoo!ブックマークへ投稿
- はてなブックマークへ投稿
- (ソーシャルブックマークとは)
ベストアンサーに選ばれた回答
シンプルに考えてみました。
Sub test2()
Debug.Print ThisWorkbook.Worksheets(1).UsedRange.Rows.Count
End Sub
訂正
hirosukesueさん の回答を見て気付きましたが、A1セルが使われている場合には上記でもいいのですが、途中のセルから使われているときはうまくないですね。失礼しました。
私の案を修正しておきます。
Sub test3()
Debug.Print ThisWorkbook.Worksheets(1).UsedRange.SpecialCells(xlLastCell).Row
End Sub
- 違反報告
- 編集日時:2008/10/11 09:56:52
- 回答日時:2008/10/10 23:57:14
- この質問・回答は役に立ちましたか?
- 役に立った!
お役立ち度:5人が役に立つと評価しています。
ベストアンサー以外の回答
(1件中1〜1件)
いろいろあると思いますが私は次の方法で取得しています
Dim myColum As Long
Dim myRow As Long
With Sheet1.UsedRange
myColum = .Column + .Columns.Count - 1
myRow = .Row + .Rows.Count - 1
End With
Debug.Print "行= " & myRow & " 列= " & myColum
- 違反報告
- 回答日時:2008/10/11 09:08:54
あなたにおすすめの解決済みの質問
- Excelの構文について質問です。 オートフィルタで条件を絞り込んだ後、コマンドボタンでデータを抽出して別シートにコピーという構文を作ったのですが、その別シートにコピーした後、貼り付けたデータの一番下の列に各行の値の合...
- シート内のF列を見ていき、「該当なし」と入力されていたら、そこの行のA列からH列までをコピーして 該当なしシートに貼り付けていきたいのですが・・・ For i = 3 To Cells(Rows.Count, 6).End(xlUp).Ro
- エクセルvbaで変数を使って範囲指定をしたいのですが上手くいきません、どなたか教えてください。 A列~B列まではデータが入っています。 C列の入力済の下の行(下表※1)から B列の最終行の右のセル(下表※2)までを範囲指定...
質問した人からのコメント
gekkasuikouさんのtest3が
質問の要望に一番沿っていると判断させて頂きました。
有難うございます。
【補足】
hirosukesueさん の回答も今後の参考に
させて頂きたいと思います。
現在With Sheet1.UsedRange
の「Sheet1」が解読できないものでして、
ThisWorkbook.Worksheets(1)
でもないし
ThisWorkbook.Sheets(1)
でもない・・・