

Excel VBAに於いて
同BOOKのSheet1から、Sheet2の文字列を変数に入れよとするとエラーになります。
何故でしょうか。
また、その対処法を、御教示ください。
Dim objWBK As Workbook
Dim objSH As Worksheet
Set objWBK = ThisWorkbook
Set objSH = objWBK.Sheet2
Dim cnsFILENAME As String
cnsFILENAME = objSH.Range("a4") ← ここで、「オブジェクトは、このプロジェクトでサポートされていません。」と、エラーメッセージが出る。
Sheet2.Range(”A4”)には、文字列を入れてある。
以上、よろしくお願いします。

No.3ベストアンサー
- 回答日時:
こんにちは。
Rangeオブジェクトは値を参照するときにはシートがActiveになっていないと
エラーになった記憶があります。
エラーの前に
objSH.Activate
を入れるとどうですか?
はずしてたらすみません。
#もし「ビンゴ」でしたら、Cellsオブジェクトの方が色々勝手が良いです。
objSH.cells(4,2)
連絡が遅れて済みません。
「ビンゴ」でした。
シートを切り替える度に、Activateと指定しないと行けなかったようです。
(面倒ですが・・・)
No.2
- 回答日時:
多分 問題なく変数に値を渡せるはずです。
きっと、それ以外のところで記述が間違ってると思いますよ。
まさかと思いますが、Range("")内のセル名(アドレス)に全角使ってませんよね?
Range("A4")
とか・・・
あと、基本的には
cnsFILENAME = objSH.Range("a4").Value と記述し
通貨型や日付型を数値型として扱うっていうなら
cnsFILENAME = objSH.Range("a4").Value2
にしておいた方が、明示的になるので私も推奨します。
No.1
- 回答日時:
いや、エラー出てるのは
>Set objSH = objWBK.Sheet2
こっちでしょ。
Set objSH = objWBK.Sheets("Sheet2")とかならわかるんですけど。
#Setって書いてないから確かに文字列入るんだけど、個人的にはあまりデフォルトプロパティとか暗黙の型変換って好きじゃないので、
cnsFILENAME = ObjSH.Range("a4").value2
あたりまで書きたがると思う
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
VBAがブレークモードになっ...
-
実行時エラー -'-2147417848
-
【マクロ】エラー【#DIV/0!】が...
-
ExcelVBA Range クラスの Page...
-
なぜエラーになるのでしょうか...
-
Outlook.ApplicationをCreateOb...
-
ASP.NET OleDbConnectionが定義...
-
マクロについて教えてください...
-
「コンパイルエラー:プロシー...
-
ハンドルされていない例外は・・・
-
「アプリケーション定義または...
-
ExcelVBAでのエラー回避
-
VBS実行時エラー オブジェクト...
-
INSERT INTOステートメント構文...
-
なぜこんな初歩的なVBAのIf文で...
-
1列目の何行目に検索文字がある...
-
ゴールシーク関数で、エラーを...
-
VBA:「中断モードでは入力でき...
-
VBで構造体を使うさ際の64k...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
VBAがブレークモードになっ...
-
【マクロ】エラー【#DIV/0!】が...
-
なぜこんな初歩的なVBAのIf文で...
-
VBAでのエラー
-
実行時エラー -'-2147417848
-
実行時エラー48発生時のDLL特定...
-
マクロについて教えてください...
-
ExcelVBA Range クラスの Page...
-
EXCEL VBAマクロ中断でデバッグ...
-
実行時エラー3001「引数が間違...
-
EXCEL/VBAで、自分のPCだけエラ...
-
VB6+SQL サーバー 2000 で 実行...
-
VBAのエラー発生場所をメッセー...
-
ADODB.Streamを使用してUTF-8を...
-
【Excel VBA】マクロをボタンに...
-
OLEDB.NETで接続できない
-
なぜエラーになるのでしょうか...
-
INSERT INTOステートメント構文...
-
Outlook.ApplicationをCreateOb...
おすすめ情報