• ベストアンサー

Rangeオブジェクトに格納できない

A1からD5までデータが入っているのですが、 そのデータの情報をRangeオブジェクトに格納する事は出来ないのでしょうか? vbaで Sub Sampsle() Dim r As Range r = ActiveSheet.UsedRange End Sub をやろうとしてるのですが、 実行時エラー_91「オブジェクト変数またはWithブロック変数が設定されていません」になります。 r に格納しちゃえば、最終列が何列目か最終行が何行目か、A1の値は何か、などしゅとくできるんじゃないかなー と思ったのですが、できないのでしょうか?

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

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

VBAでオブジェクトを変数に格納する場合は、   Set r = ActiveSheet.UsedRange といったように、「Set」が必要です。 Sub Sample()   Dim r As Range   Set r = ActiveSheet.UsedRange   MsgBox "使用範囲の総セル数は " & r.Count " です"   Set r = Nothing End Sub ※Setで格納した変数は、使用後はNothingをしておいた方が無難です。

kcdlcjlja8
質問者

お礼

あ!!!! set忘れてました! 無事解決しました。ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A