

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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Excel(エクセル) Excleマクロ セル値の代入と文字列の結合について 3 2022/10/05 16:47
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) VBAでファイルを開くプログラムがエラーです 2 2023/02/21 16:56
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
実行時エラー -'-2147417848
-
なぜこんな初歩的なVBAのIf文で...
-
ExcelVBA Range クラスの Page...
-
VBAがブレークモードになっ...
-
マクロについて教えてください...
-
EXCEL VBAマクロ中断でデバッグ...
-
実行時エラー3001「引数が間違...
-
vbaのvlookup関数エラー原因を...
-
VB6+SQL サーバー 2000 で 実行...
-
実行時エラー48発生時のDLL特定...
-
INSERT INTOステートメント構文...
-
Access2000での未定義関数repla...
-
アクセス 実行時エラー3265
-
マクロでのActiveSheet.Pasteで...
-
VBAで、定数式が必要ですのエラ...
-
VBAでのエラー
-
VBAのエラー発生場所をメッセー...
-
職場から目的地までの距離集計
-
『実行時エラー 5 プロシージャ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
なぜこんな初歩的なVBAのIf文で...
-
VBAがブレークモードになっ...
-
実行時エラー -'-2147417848
-
ExcelVBA Range クラスの Page...
-
マクロについて教えてください...
-
VBAでのエラー
-
【Excel VBA】マクロをボタンに...
-
実行時エラー48発生時のDLL特定...
-
EXCEL VBAマクロ中断でデバッグ...
-
なぜエラーになるのでしょうか...
-
実行時エラー3001「引数が間違...
-
OLEDB.NETで接続できない
-
INSERT INTOステートメント構文...
-
VBAのエラー発生場所をメッセー...
-
VB6+SQL サーバー 2000 で 実行...
-
Outlook.ApplicationをCreateOb...
-
ADODB.Streamを使用してUTF-8を...
-
カーソルオープンでエラー(ORA...
-
Invalid procedure call or arg...
おすすめ情報