
たびたびお世話になっています。
今回はVBAでの基本的な関数であろうFormat関数について質問させて頂きます。
現在 WindowsME / EXCEL2002 でマクロ・VBAを使用した日報を製作しています。
その中で、設定欄で入力した日付をソース内でFormat関数で形式を変えて表示させようとしているのですが、EXCEL97の環境に持っていくとエラーが出て使用できません。
EXCEL97で使えないのかと思いましたが、同じ環境(同じPC・同じEXCEL)で新規ファイルを作成し、同じ表記をすると普通にFormat関数が使用できます。
これはいったい何がまずくてエラーが出てしまうのでしょうか。
一応ソースは以下の通りです。
Private Sub cmd_run_Click()
Dim strMonth As String
Dim intOkCancel As Integer
'' 処理実行確認
strMonth = Worksheets("設定").Range("C12").Value
strMonth = Format(strMonth, "yyyy年m月")
intOkCancel = MsgBox(strMonth & "の日報集計を開始します。よろしいですか?", vbOKCancel, "集計開始")
If intOkCancel = vbCancel Then
MsgBox "集計を中止します", vbOKOnly, "集計中止"
Exit Do
End If
''集計
Call S_Run
End Sub
出るエラーは「コンパイルエラー:プロジェクトまたはライブラリが見つかりません」です。
簡単なことなのかも知れませんが、これでは他の方に使って頂けなくて困っています。
お知恵をお貸し下さい。
No.3
- 回答日時:
AloneAgain さんが回答されたとおり、参照設定が原因でしょう。
>同じ環境(同じPC・同じEXCEL)で新規ファイルを作成し、同じ表記をすると
>普通にFormat関数が使用できます
ここまでされているのだから、あとは、「OKなファイル」と「NGのファイル」の参照設定を比較してみれば、解決できるかと思います。
ご返答有難うございます。
確かにお教えいただいた通り、「参照不可」の参照設定ライブラリが2つもありました!
特別使用した記憶がなかったため、こんなところで引っかかるとは思いもせず・・・。
まだ削除には時間がかかるようですが、手がかりも頂きましたしこれからなんとかしていこうと思います。
的確なご返答ありがとうございました。
No.2
- 回答日時:
こんにちは。
「ライブラリが見つかりません」というエラーなら参照設定の問題かと思うのですが・・
VisualBasicEditorを開いて、メニュー「ツール」-「参照設定」を見てください。
"参照不可" と表示されているものがありませんか?
あれば、そのチェックをはずして確認してください。
↓の参考URLはOFFICE2000のものですが、同じエラーに関する記述です。
参考URL:http://support.microsoft.com/default.aspx?scid=k …
早速のご返答有難うございます。
参照設定確認して見ました。
相しましたら、確かに「参照不可」のものが2つも表示されていました。
いったいいつからこんなものが・・・とびっくりしています。
原因はこれだとはわかったのですが、特別なコントロールを使用しているわけでもないのに(使用しているのはチェックボックスとコマンドボタンのみです)「使用中のため削除できません」とメッセージが出て削除できませんでした。
ですが、原因さえわかれば何とかなると思います。
参考のURLまで探してくださいまして、丁寧な説明本当に有難うございました。
助かりました!
No.1
- 回答日時:
Dim strMonth As String → Dim strMonth As Date
に変更されてはいかがでしょうか?
この回答への補足
早速のご返答ありがとうございます。
データ型はStringからDateに変えてみましたが、エラー内容に変わりはありませんでした。
実際新規ブックを作成した場合はString型でも問題無く動きます。
エラーはこのプロシージャに入る前(その行にたどり着く前)に出るのでどうやら実際のデータ型などは関係ないようです…。
せっかくお答え頂きましたのに申し訳ありません。
あと、うっかりしてましたが、
If intOkCancel = vbCancel Then
MsgBox "集計を中止します", vbOKOnly, "集計中止"
Exit Do
End If
は Exit Sub が正しいですね.ここに移すときのミスです;これによるエラーではないですので改めてここで書かせていただきます。
今回はちょっと教えていただいたこととは違うことが原因でしたが、なんとか解決できそうです。
すぐのご返答うれしかったです。お心砕いていただきましてありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) 【VBA】先月分の取得ができない理由が分かりません。 2 2022/04/24 11:16
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
このQ&Aを見た人はこんなQ&Aも見ています
-
VBA Formatについて 何度入力しなおしても構文エラー"になってしまう"
Visual Basic(VBA)
-
vb ver6 でformat文やTrim文の関数が使用できなくなりました。
Visual Basic(VBA)
-
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
-
4
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
5
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
-
6
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
7
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
8
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
9
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
10
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
11
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
12
マクロの「SaveAs」でエラーが出るのを解消したいです(再)
Visual Basic(VBA)
-
13
UserForm1.Showでエラーになります。
工学
-
14
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
-
15
実行時エラー 438になった時の対処法を教えて下さい。
Visual Basic(VBA)
-
16
マクロボタンを押すと、ファイル名を“日付(年月日)_文字.xlsx”にして指定ファイルに保存したいの
Excel(エクセル)
-
17
エクセルVBA 作業後に選択範囲を解除する方法
Excel(エクセル)
-
18
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
-
19
もしセルが#N/A"なら~をする・・・には?"
Excel(エクセル)
-
20
VBA シートのボタン名を変更したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
シェルスクリプトの実行エラー...
-
ACCESS VBAのOpenForm書き方
-
aspxをサーバーで表示すること...
-
cvRectangleの使用時に以下のエ...
-
EXCEL VBA 文字色を変える
-
図形のクリアで実行時の1004エ...
-
【Adobe Premiere Element 2.0...
-
IME98で変換候補に漢字が出ない
-
NET USE コマンドでエ...
-
Excel ファイルに保存すると実...
-
VBAでFormat がうまく使えない
-
windows 遅延書き込みデータの...
-
ExcelVBAでODBCドライバを使っ...
-
vbaエラーの原因
-
プリンターCanon BJC-80v印刷...
-
Googleドライブにインターネッ...
-
Thunderbirdのプロファイルが読...
-
ショートカットファイルが開け...
-
勝手にショートカットのリンク...
-
-Tomcat3.2.3からWebSphereAPSe...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでFormat がうまく使えない
-
Web.Config 構成ファイルのエラー
-
シェルスクリプトの実行エラー...
-
ホームページビルダーの”全体の...
-
Debug Assertion Failed?
-
NET USE コマンドでエ...
-
不明なソフトウェア例外(0xe06...
-
C# HttpWebRequestのエラーにつ...
-
VBAで印刷するとエラーになって...
-
W3CのCSS検証エラーについて
-
Excel ファイルに保存すると実...
-
bcpadがうまく実行できないので...
-
LTspiceのTime Stepエラーについて
-
実行時エラー'1004': アプリケ...
-
FileUploadを利用しての画像保存
-
ホームページ転送中に「アクセ...
-
Access ADOで文字列を日付型へi...
-
aspxをサーバーで表示すること...
-
vbaでファイルを開くパス名に変...
-
POV-Ray についての質問です!
おすすめ情報