
入門書を読みながらVBAを勉強しています。
3日以上繰り返して、ぜんぜんすすみません。困っています。お願いします。ご協力お願いします。
コードの内容は
(1)マクロから別のエクセルファイルを開く
(2)開いたファイルのシート1を選択
(3)Endプロパティを使ってRange("A65536")から上にジャンプするものです。
本に書いてあったコード通りうち実行しても4行目で以下のエラーメッセージが表示されます。
--出るエラー--
実行時エラー'1004
'RangeクラスのActivateメソッドが失敗しました。
--使っているコード--
Application.DisplayAlerts = False
Workbooks.Open Filename:= "C:\1班.xls"
Worksheets("Sheet1").Select
Range("A65536").End(xlUp).Activate
使っているものはExcel2000です。
ご協力お願いします。
No.2ベストアンサー
- 回答日時:
Worksheets("Sheet1").Select
Worksheets("Sheet1").Range("A65536").End(xlUp).Activate
上記のように、エラー行にも、Selectしたシート名を記述してみてください。
これで通れば、コードが記述されている場所の問題だとおもいます。
多分、シートモジュールに記述されているのではないでしょうか?
標準モジュールに記述されているなら、シート名を記述していないコードでも通るとおもいます。
標準モジュールとシートモジュールの違いは解りますか?
モジュールとイベントについて
http://www.sanynet.ne.jp/~awa/excelvba/kouza/cha …
Excel(エクセル) VBA入門:VBE(Visual Basic Editor/VBエディタ)の使い方
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/v …
ありがとうございます。シート名を追加したらうまくいきました!!
ずっと考えていたことで解決して凄くうれしかったです。ありがとうございます。
記述する場所によって違うんですね。モジュールのによって違いがあるとは始めて知りました。教えていただいたサイトも勉強になりました。ありがとうございます。
No.3
- 回答日時:
私の場合下記でもうまく行きました。
Sub test02()
'Application.DisplayAlerts = False
Set wb = Workbooks.Open(Filename:="01化.xls")
Set Sh = wb.Worksheets("Sheet1")
Sh.Range("A65536").End(xlUp).Activate
End Sub
でやってみてください。
ーー
質問のコードを考える上で、次の2つのブックが出てきます
(1)モジュールを書いたブック・シート
(2)開いたブックのシート
これらを上記のように明示的にするほうが、今後色々なVBAコードで安全だと思います。
実行時エラー'1004 の後に、「Globalオブジェクト」と出ていると、これが原因でしょう。後に出ているエラーコメントも、もし在れば書いておくべきだ。
質問のエラー原因がこれかどうか、判りません。私も質問のコードでやってみると、エラーは出ませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HULFT完了コードについて
-
エクセルVBAでNumLockキーの状...
-
【Excel】BeforeCloseを毎回呼...
-
Application.Runエラー(1004)
-
別シートのマクロを実行する方法
-
エクセルのマクロボタンが編集...
-
Accessからエクセルマクロを起...
-
エクセルVBAで、ボタンの文字を...
-
Access終了時にマクロまたはVBA...
-
Workbook_Openを起動時以外に呼...
-
ExcelVBAで右クリックメニュー...
-
マクロの自動記録機能について
-
Excelマクロの登録されたModule...
-
別シートのトグルボタンを指定...
-
「Access」のフォームを...
-
<<ACCESS2000>>マクロでクエリ...
-
EXCEL2010でxltmにxlsmは必要?
-
アクセスの更新クエリをフォームで
-
マクロとモジュールの違いを教...
-
Excel2010のステータスバーを消...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vbaでmsgboxの位置を指定
-
【Excel】BeforeCloseを毎回呼...
-
エクセルVBAでNumLockキーの状...
-
エクセルVBA フォームShowでオ...
-
HULFT完了コードについて
-
VBAが得意な方 助けてください...
-
ブレークポイントについて教え...
-
Excel:アドイン(ThisWorkbook)...
-
エクセル2003のマクロでコマン...
-
エクセルのダブルクリックで
-
ラウザ経由でエクセルVBAを実行...
-
ワークシートのコピーVBAでうま...
-
別シートのマクロを実行する方法
-
エクセルのマクロボタンが編集...
-
Application.Runエラー(1004)
-
Access終了時にマクロまたはVBA...
-
エクセルVBAで、ボタンの文字を...
-
アクセスのマクロについて
-
シート保護を掛けたまま並べ替...
-
access2010 コマンドまたはアク...
おすすめ情報