OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

Excel Vba でデータの範囲を知るには?

  • 暇なときにでも
  • 質問No.112956
  • 閲覧数1707
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 71% (69/97)

Excelを使用していますが、マクロ(VBA)で、シートのデータの範囲を知るにはどうすればよいのでしょうか。
 印刷プレビューを行うと、自動的にページ数が求めらていますが、これは、シートのデータの範囲(列及び行の最大値)を判別しているからできるのだと思います。
 これを、VBAで行、及び列のMAX値を取得したいのですが、そのメソッド(プロパティ)を知りたいのです。
 どなたかご教授ください。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル13

ベストアンサー率 68% (791/1163)

説明不足だったかもしれませんので追記しておきます。
以下のようにして範囲を求めたりしています。まだ簡単な方法があるかもしれません。
参考にして下さい。

標準モジュールに貼り付けます。

Public Sub UsedAreaAddress()
  Dim myUsedAddress As String '使用範囲
  Dim myUsedRows As Long '使用行数
  Dim myUsedColumns As Integer '使用列数
  Dim myUsedStartCell As String '最初のセル
  Dim myUsedEndCell As String '最後のセル
  Dim myPrintArea As String '例えば印刷範囲(最初の行を除く)
  Dim myMsg As String 'メッセージボックスへの出力

  With ActiveSheet
    '使用範囲
    myUsedAddress = .UsedRange.Address
    '使用行数
    myUsedRows = .UsedRange.Rows.Count
    '使用列数
    myUsedColumns = .UsedRange.Columns.Count
    '最後のセル
    myUsedEndCell = .Cells.SpecialCells(xlCellTypeLastCell).Address
    '最初のセル
    myUsedStartCell = Range(myUsedEndCell).Offset(1 - myUsedRows, 1 - myUsedColumns).Address

    '例えば、最初を表題として表題を除いた印刷範囲(行タイトル等は別途指定)
    myPrintArea = Range(myUsedStartCell).Offset(1, 0).Address & ":" & myUsedEndCell
  End With

  myMsg = "データが入力されている矩形範囲 " & myUsedAddress & vbLf & vbLf
  myMsg = myMsg & "最初のセル " & myUsedStartCell & vbLf
  myMsg = myMsg & "最後のセル " & myUsedEndCell & vbLf & vbLf
  myMsg = myMsg & "行数 " & myUsedRows & vbLf
  myMsg = myMsg & "列数 " & myUsedColumns & vbLf & vbLf
  myMsg = myMsg & "印刷範囲例 " & myPrintArea

  MsgBox myMsg

End Sub
お礼コメント
yamamichi

お礼率 71% (69/97)

早速に回答いただきありがとうございました。
例題を参考にさせていただき、データの範囲を知ることができました。
また、何かありましたらよろしくお願いいたします。
投稿日時 - 2001-08-06 18:25:53
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル13

ベストアンサー率 68% (791/1163)

UsedRange や SpecialCells で求められると思います。 印刷範囲だと、どう指定するか分かりませんし、求めた範囲を細工する必要があるかもしれません。 詳しくはHelpをご覧下さい。
UsedRange や SpecialCells で求められると思います。

印刷範囲だと、どう指定するか分かりませんし、求めた範囲を細工する必要があるかもしれません。

詳しくはHelpをご覧下さい。

このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ