インデックスが有効範囲にありません のエラーで困っています。
よろしくお願いします。
下記のようなプログラムを実行すると、④の時点でエラーが出ます。
("i") を変数ではなく ("1510")と書くとエラーはでません。
しかし、変数を使用しているときにエラー時、ウォッチリストを見ても i=1510 となっているので、問題ないと思うのですが、なぜこれでうまく行かないのでしょう。
①i = 1510
②YAHO = "http://profile.yahoo.co.jp/fundamental/"
③Workbooks.Open Filename:=YAHO & i
④Workbooks("i").ActivateWorkbooks("i").Worksheets("i").Range("B42").Select
⑤Workbooks("i").Worksheets("i").Range("B42").Select
初歩的な質問で申し訳ありませんがよろしくお願いします。
すいません、プログラムの部分がアップするときにコピペでくちゃくちゃになっていました。
実際は下記となり、④の時点でエラーとなります。
①i = 1510
②YAHO = "http://profile.yahoo.co.jp/fundamental/"
③Workbooks.Open Filename:=YAHO & i
④Workbooks("i").Activate
⑤Workbooks("i").Worksheets("i").Range("B42").Select
よろしくお願いいたします。
ダブルクォーテーションで囲まれているので
文字列で"i"というシートを指定しているのでは?
Dim sht as string
i = 1510
sht = str(i)
Workbooks(sht).Activate
#試していませんのでエラーが出たらごめんなさい。
と、さん アドバイスありがとうございます。
しかしやってみてもやはりエラーになってしまいました。
ローカルウィンドウでは
: sht : " 5010" : String
: i : 5010 : Variant/Integer
と今度は教示されています。
なんかマズイところがありましたら、お教えいただければありがたいです。
下記がこの部分で記述した全部です。
なぜ変数 i にしたかというと、最終的にやりたいのは、自動的に5000〜8000の番号のWEBを取得し固定のセルをどんどんyahoo.csvシートにコピーしていくためにFor nextを使うための前段階なためです。しかしながら、今、この一件でさえ出来ないな避けない状態となっています。よろしくアドバイスお願いいたします。
Private Sub CommandButton2_Click()
Dim YAHO As String
Dim sht As String
i = 5010
sht = Str(i)
SAKI = "C:\Documents and Settings\hideko_iw\MyDocuments\YAHOO\yahoo.csv"
YAHO = "http://profile.yahoo.co.jp/fundamental/"
Workbooks.Open Filename:=YAHO & i
Workbooks(sht).Activate
Workbooks(sht).Worksheets(sht).Range("B42").Select
CStr 関数で文字変換することにより無事解決しました。
ありがとうございました!