• ベストアンサー

マクロを含むExcel 文書のコンパイルエラー

お世話になります。 マクロを含む Excel のファイルがあります。 そのファイルをWindows98SEのパソコンで開く際に、 コンパイルエラー: プロジェクトまたはライブラリが見つかりません。 というメッセージが表示され、 --- Sub Auto_Open() Worksheets("MENU").Select Range("B3").Value = Month(Date) End Sub --- のDateの部分が色が反転して表示されます。 これは、何が問題でしょうか? ライブラリのバージョンが古いのでしょうか? マクロの文法がおかしいのでしょうか? 違うWindows98では、表示されません。 何が原因か分かりましたら教えてください。 よろしくお願いします。

noname#224287
noname#224287

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

  • ベストアンサー
  • TTak
  • ベストアンサー率52% (206/389)
回答No.1

VBAメニューの[ツール]>[参照設定]で、(参照不可)があったらチェックをはずしてみてください。

noname#224287
質問者

お礼

返事が遅くなりました。 「Microsoft Access 9.0 Object Library」 が参照不可になっていました。 アクセスをインストールしたところ、 無事にファイルを開くことができるようになりました。 ありがとうございました。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

別途下記をやってみて Sub test01() MsgBox Month(Date) MsgBox Date MsgBox Month(#2/10/2004#) MsgBox Month(Now()) MsgBox Now MsgBox Now() End Sub のどこかでエラーが出るでしょうか。

関連するQ&A

  • 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

  • エクセルマクロ実行時エラー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

  • イベントマクロで「コンパイルエラー 因数は省略できません」

    マクロ初心者です イベントマクロを作りました Sheet2の結合されたB44:E44のセルに入力すると自動的にマクロが働いて Sheet1のW1の値のみがSheet2の結合されたB44:E44のセルに貼り付けられるマクロなのですが 実行すると「コンパイルエラー 因数は省略できません」と表示されます マクロ自体は正しく動いているのですがどういうことなんでしょう Sheet2 Worksheet Change Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target.Range("B44:E44")) Is Nothing Then Exit Sub Application.EnableEvents = False Sheets(1).Select Range("W1").Copy Sheets(2).Select Range("B44:E44").Select ActiveSheet.Paste Application.CutCopyMode = False Application.EnableEvents = True End Sub Private Sub Worksheet_Change(ByVal Target As Range)…この行が黄色になります If Intersect(Target.Range("B44:E44")) Is Nothing Then Exit Sub…intersectのところが青くなります こんな説明でわかってもらえるでしょうか?

  • EXCELマクロを実行したときのコンパイルエラー

    EXCELでSolverをマクロで実行出来るようにしたいのですが、 マクロの記録のボタンをクリック→ツールでソルバーを選択→目的セル、目標値、変化させるセルを選択→実行→OK→記録終了で、マクロを作成し、 マクロを開いて実行をすると、コンパイルエラーが表示され、「subまたはFunctionが定義されていません」と表示されて止まってしまいます。ちなみに、EXCEL2003でも2007でも同じ状況です(ToT)。 マクロのソースは下記のようになっていて「SolverOk」のところがblueに反転してとまっています。 どなたか対処方法をご存知でしたら教えて頂けないでしょうか?よろしくお願いいたします(m_m) Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2011/9/13 ユーザー名 ' ' SolverOk SetCell:="$E$8", MaxMinVal:=2, ValueOf:="0", ByChange:="$E$7" SolverSolve End Sub

  • VBA  コンパイルエラー:プロジェクトまたはライブラリがみつかりませ

    VBA  コンパイルエラー:プロジェクトまたはライブラリがみつかりません。 Excel2000で作成したマクロ(VBA)をExcel2007(OS:VISTA)上互換モードでコンパイルして動かしていました。このマクロをExcel2007(64ビットWindows7)でコンパイルしようとすると「コンパイルエラー:プロジェクトまたはライブラリがみつかりません。」でコンパイルできません。対象は「chr()、mid()、trim()」等の関数のようです。 解決策をご教授いただきたくお願いいたします。

  • エクセルマクロのCallとコンパイルエラー

    エクセルマクロのCallとコンパイルエラー よく、教えていただくのですが作ったマクロを呼び出すのに、 ・Call 作成したマクロ とか教えてもらいますが 標準モジュールのツリーには ・Module1 ・Module2 ・オートオープン ・リセット とかがあって ・Call リセット とかにして実行すると ・コンパイルエラー (モジュールではなく、変数またはプロシージャを指定してください) となってしまいます。 Callの後にはどういう風にすればいいのでしょうか? -------------- Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$5" And Len(Range("B5").Value) > 1 Then Call 印刷←印刷はModule2です。 End If End Sub ------------- で印刷のマクロの一部に Call リセット をつけたたしたらなりました。 よろしくお願いします。

  • エクセル2007のマクロ、2動作ができない

    Okwaveで教えていただいたマクロを一つのボタンで動かそうとしています。 ステップインで動かすと希望の動作をするのですが実行すると途中で止まります。 点検用紙をコピーして日付と曜日を入れようとしています。 Sub macro1() Dim s As String s = Format(Date, "e年m月") On Error GoTo errhandle Worksheets(s).Select  With Range("A7:D7") Value = Date NumberFormatLocal = "ggge年m月d日" End With With Range("E7") Value = Date NumberFormatLocal = "aaa曜" Select End With Exit Sub errhandle: Worksheets("月次点検用紙").Copy before:=Worksheets(2) ActiveSheet.Name = s End Sub

  • コンパイルエラーが出て進めません。

    おはようございます。 先日、「作りながら覚える! excel vba マクロ 組み方講座 永井善王著」という本を購入してvbaマクロを勉強中です。 本にそって進めていくと、P.67の所でストップしてしまいました。 急に「コンパイルエラー 変数が定義されていません」と表示され、何回やりなおしてもそこから進めなくなりました。 コードは、 Option Explicit Sub 請求合計と消費税を計算して編集する() Sheets("客別売上").Select 請求合計 = WorksheetFunction.Sum(Range("d2:d11")) 消費税 = Round(請求合計 / 105 * 5) Sheets("請求書").Select Range("e18").Value = 請求合計 Range("h18").Value = 消費税 & " 円" End Sub になります。 上記の「Sub 請求合計と消費税を計算して編集する()」 が黄色くなっています。 どうぞ助けてください。

  • EXCELでマクロが

    昨日から、期待する動きでなくなりました。 シートに新たに数式を加え、rank関数ではきちんと表示するのですが、マクロを動かすと、 期待した動きでなくなりました。 Sub Sheet2STD昇順並べ替え() ' ' Sheet2STD昇順並べ替え Macro ' ' Range("B6:V24").Select ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Range("C7:C24") _ , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Sheet2").Sort .SetRange Range("B6:V24") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("A1").Select End Sub 図にある下向きの矢印にマクロを登録しています。

  • ■ エクセルマクロについてです。初級?

    エクセルのマクロでデスクトップにあるエクセルファイルを開くにはどうしたらいいのでしょうか? 現在は、エクセルファイルA.xls B.xlsという2つを開いていて、マクロを実行することができるのですが、これをA.xlsだけ開いている上体で、実行したいのです。 なので、デスクトップに置いてあるB.xlsファイルを開くコマンド?というか、関数が知りたいのですが、どうしたらいいのでしょうか? 現在はこのような感じになっております。 Sub Macro2() ' ' Macro2 Macro ' マクロ記録日 : 2008/9/10 ユーザー名 : ' ' ActiveCell.FormulaR1C1 = "12345" Range("G17").Select ActiveCell.FormulaR1C1 = "129876" Range("G18").Select Windows("B.xls").Activate Range("N16").Select ActiveCell.FormulaR1C1 = "8/4/2008" Range("N17").Select ActiveWorkbook.Save Range("O16").Select ActiveWorkbook.Save ActiveWindow.Close End Sub

専門家に質問してみよう