• ベストアンサー

マクロ ファイルを開いたときにいつも同じセルを選択

Sub auto_open() Worksheets("今週の点数").Activate Range("g3").Select End Sub というように、動作させたいエクセルファイルを開いてから、「開発」-visual basic-と進み、ThisWorkbookをダブりクリックして開いた画面に上のように記述したのですが、最後に上書き保存をしたセルが出てくるだけで、うまくいきません。何が間違っているのでしょうか。

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

  • ベストアンサー
回答No.1

コードを記述するモジュールが違います。参考 URL を参照してください。

参考URL:
http://www.happy2-island.com/excelsmile/smile03/capter00706.shtml
tarokawa20
質問者

お礼

ありがとうございます。 ばっちりできました。

関連するQ&A

  • ActiveX コントロールでのセル選択

    Excel VBA独学中の初心者です。 目的:ActiveX コマンドボタンをクリックして他のSheetのセルを選択する 環境例:シートが2個(Sheet1、Sheet2) Sheet2にActiveXコントロールのコマンドボタンを置く 【プログラム1】:コマンドボタンには次のようなVBAコードを記述 ---------------- Private Sub 別シートセル選択_Click() Worksheets(1).Activate Range("A5").Select End Sub ---------------- 結果:この時次のようなエラーが出ました。 '実行時エラー'1004 'アプリケーション定義またはオブジェクト定義のエラーです。 -------------------------------- -------------------------------- 【プログラム2】:コマンドボタンには次のようなVBAコードを記述 ---------------- Private Sub 別シートセル選択_Click() Worksheets(1).Activate Worksheets(1).Range("A5").Select End Sub ---------------- 結果:OK ---------------- ---------------- ところが次の【比較1】【比較2】の場合、「Range("A5").Select」だけでOKでした。 ---------------- 【比較1】 コントロールの存在するSheetのセルを選択する場合は「Range("A5").Select」だけでOKでした。 ---------------- 【比較2】 Subマクロで記述する場合も「Range("A5").Select」だけでOKでした。 プログラムは以下 -------- Sub セル選択() Worksheets(1).Activate Range("A5").Select End Sub ---------------- 【質問】 ActiveX コントロールを置いているSheetとは別のSheetのセルを選択する時は、選択しようとするセルの「Sheet名」から記述しなければならないのでしょうか。 「Range("A5").Select」だけでOKだった【比較1】【比較2】との違いを教えていただきたくお分かりの方宜しくお願いします。 (用語の使い方に誤りがありましたらすみません。)

  • EXCEL マクロ 

    お世話になります。 マクロは初心者です。 セルの数値を参照して、シートをアクティブにしたいのですが 下記のような繰り返しでシートが30ぐらいあるので、簡単な 表現に出来ないでしょうか。 宜しくお願いします。 Private Sub Workbook_Open() If 0 <= Worksheets(4).Range("M1") < 7 Then Worksheets(4).Activate End If If 0 <= Worksheets(5).Range("M1") < 7 Then Worksheets(5).Activate End If If 0 <= Worksheets(6).Range("M1") < 7 Then Worksheets(6).Activate End If If 0 <= Worksheets(7).Range("M1") < 7 Then Worksheets(7).Activate End If If 0 <= Worksheets(8).Range("M1") < 7 Then Worksheets(8).Activate End If If 0 <= Worksheets(9).Range("M1") < 7 Then Worksheets(9).Activate End If End Sub

  • エクセルマクロ実行時エラー1004について

    システムを起動すると実行時エラー1004とでて5行目のWorksheets(3).Selectで止まってしまいます。 私が作成したものではなく、なぜなのかわかりません。緊急を要しています。誰かわかる方いらっしゃらないでしょうか。 よろしくお願いします。 Dim Max_data2 As Integer Public Cunt_01 As Integer Sub auto_open() Dim wkSheet As Excel.Worksheet Worksheets(3).Select ' Range("c4") = Date ' Range("c20") = Date Range("d6").Select With Worksheets("工場、受注一覧表") ' Worksheets("工場、出荷指示書").Range("j3").Value = Date ' Worksheets("工場、出荷指示書").Range("I4").Value = Date ' Worksheets("工場、出荷指示書").Range("J4").Value = Time .Range("d5").Value = Date .Range("d21").Value = Date .Range("d23").Value = Date End With For Each wkSheet In ThisWorkbook.Worksheets If InStr(wkSheet.Name, "工場、出荷指示書") <> 0 Or InStr(wkSheet.Name, "@") <> 0 Then wkSheet.Range("J3").Value = Date wkSheet.Range("I4").Value = Date wkSheet.Range("J4").Value = Time End If Next Call com_list Cunt_01 = 10 '1件づつ転記のカウンタ '★追加★ '入出庫報告書のファイルを開く Dim sPath As String sPath = ThisWorkbook.Worksheets("工場、受注一覧表").Range("W1").Value If sPath = "" Then Exit Sub End If If Dir(sPath) <> "" Then Workbooks.Open (sPath) End If ThisWorkbook.Activate ''★23.06.12 ActiveWindow.SmallScroll ToRight:=4 End Sub

  • エクセルVBA ウィンドウ左上になるセルを指定する

    いつもお世話になっております。 以下のようなマクロを書きました。 Sub test() Worksheets("Sheet2").Select Range("A1").Value = "☆" Worksheets("Sheet1").Select Range("AG100").Activate End Sub 上記マクロでは、最後にAG100セルが見えるようになりますが AG100セルがウインドウ一番左上でアクティブになるように するためにはどのように記述すればよいか ご教示ください。 よろしくお願いします。

  • マクロ セル範囲の選択の仕方について

    いつも回答して頂きありがとうございます。 ネット等で検索し、有効なマクロ記述を使用してセル範囲の選択を行いましたが、 自分が思っている通りに動きませんでした。 『質問内容』 C7を起点とした最終の列 (C7:D7) ← 自分の狙いの選択範囲(Dより大きい文字がきて欲しかった) 実際は、(A7:C7)が選択された。 どこらへんの記述が間違っているのでしょうか? 御指導の程よろしくお願い致します。 ちなみに下記が自分が作成中のマクロです。 Sub シートを繰り返し選択する() Dim d As Integer Dim retu As Integer d = 3 retu = Range("IV7").End(xlToLeft).Column Worksheets(Worksheets("一覧").Cells(d, 2).Value).Activate ActiveSheet.Range(Cells(7, 3), Cells(7, retu)).Select End Sub

  • excelのマクロでrangeの選択がうまくいきません。

    excelのマクロでrangeの選択がうまくいきません。 以下のマクロをsheet2に書きました。testcopyは動きますが、testcopy2は動きません。なぜなのでしょうか。どうすればいいのでしょうか。それ以外のマクロの部分との関係から、cellsを使い、数字を使ってrangeの処理をしたいのです。よろしくお願いします。 Sub testcopy() Worksheets("sheet1").Range("B3:C10").Copy Worksheets("sheet2").Range("e5").Select ActiveSheet.Paste End Sub Sub testcopy2() Worksheets("sheet1").Range(Cells(3, 2), Cells(10, 3)).Copy Worksheets("sheet2").Range("e5").Select ActiveSheet.Paste End Sub

  • マクロで予定表 セルに色を塗る

    下記のような表があります。 (1)シート名 予定表    A      B     C 1  日付    曜日  予定 2 2008/11/21 金   ビデオ返却 3 2008/11/22 土   飲み会 4 2008/11/23 日   デート ・    ・     ・     ・ ・    ・     ・     ・ ・    ・     ・     ・ (2)シート名 設定 A1 =TODAY() A2 =MATCH(A1,予定表!A:A,0) <<やりたいこと>> 昨日の日付と曜日と予定のセルをグレーに塗りたい。 ブックを開いた時に日付が変わっていれば自動で実行する。 現在のマクロは以下です。 Sub Auto_Open() Worksheets("予定表").Activate ActiveWindow.ScrollRow = Worksheets("設定").Range("A2") Range("A1").Select End Sub いろいろ調べましたが解りませんでした。 よろしくお願いします。

  • アクティブでないシートのセルを選択

    Excel VBAでアクティブでないシートのセルをSelectすることはできないのでしょうか。 Selectメソッドというのは,もともとそういうものなのでしょうか。 エラー: 「RangeクラスのSelectメソッドが失敗しました。」 コード Sub aaa() With Worksheets("Sheet2") .Range(.Cells(44, 1), .Cells(48, 21)).Select End With End Sub

  • 複数のシートに 転記

    Sub べんきょう()   Worksheets(Array(1, 3)).Select   Range("3:3").Activate   ActiveCell.ClearContents  End Sub シート1,3の3行目のデータを消したい もしくは Sub べんきょう()   Worksheets(Array(1, 3)).Select   Range("3:3").Activate   ActiveCell.Interior.color = xlNone  End Sub シート1,3の3行目の色を消したい うまくいかなくて困ってます…。 どなたかどうかご指導よろしくです。

  • Excellマクロ Cellsの範囲選択について

    エクセル2003についてお尋ねします。 A1には行番号にあたる変数が表示されるようになっています。 その変数によって選択するセルの範囲が変わるようにすることが目的でした。 「A1の行番号の5~10列目を選択する」というマクロを 下記のような記述を行いましたが、※のところでエラーが出てしまい、問題がわからずにおります。 お手数ですが解決策をご教授ください。 Sub マクロ1() Dim j As Integer j = Range("A1") Worksheets("Sheet1").Activate Range(Cells(j, 5), Cells(j, 10)).Select ←※ End Sub よろしくお願いいたします。

専門家に質問してみよう