たびたびお世話になっています。
今回は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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
推しミネラルウォーターはありますか?
推しミネラルウォーターがあったら教えてください
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
Format 関数のバグ?
Visual Basic(VBA)
-
-
4
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
-
5
VBAで文字列を数値に変換したい
Excel(エクセル)
-
6
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
7
【Excel VBA】先頭の「0」飛びを埋める方法
Visual Basic(VBA)
-
8
VBA Formatについて 何度入力しなおしても構文エラー"になってしまう"
Visual Basic(VBA)
-
9
vb ver6 でformat文やTrim文の関数が使用できなくなりました。
Visual Basic(VBA)
-
10
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
11
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
12
ExcelのVBAでフォームが表示されない
Excel(エクセル)
-
13
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
14
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
15
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
16
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
17
VBAの日付チェックでオーバーフローを回避したい。
Access(アクセス)
-
18
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
19
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
-
20
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでFormat がうまく使えない
-
シェルスクリプトの実行エラー...
-
seleniumでperlモジュール使用...
-
Access ADOで文字列を日付型へi...
-
bcpadがうまく実行できないので...
-
ACCESS VBAのOpenForm書き方
-
VBAでon error goto文がきかない
-
不明なソフトウェア例外(0xe06...
-
W3CのCSS検証エラーについて
-
VB5のEXEの起動時エラー
-
POV-Ray についての質問です!
-
セルA1とF1、A2とF2、A3とF3…を...
-
Web.Config 構成ファイルのエラー
-
NET USE コマンドでエ...
-
LTspiceのTime Stepエラーについて
-
webサイトにエラーがあるとどん...
-
[AS3]テキストファイルの存在確認
-
図形のクリアができない。
-
Debug Assertion Failed?
-
エクセルのエラーについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでFormat がうまく使えない
-
Debug Assertion Failed?
-
Web.Config 構成ファイルのエラー
-
NET USE コマンドでエ...
-
ACCESS VBAのOpenForm書き方
-
エラーコード 70 「書き込み...
-
C# HttpWebRequestのエラーにつ...
-
EXCELを開くとエラーがでます。
-
シェルスクリプトの実行エラー...
-
Excel ファイルに保存すると実...
-
vbaでファイルを開くパス名に変...
-
ホームページビルダーの”全体の...
-
W3CのCSS検証エラーについて
-
POV-Ray についての質問です!
-
VBAで印刷するとエラーになって...
-
不明なソフトウェア例外(0xe06...
-
ASP.NETでのランタイムエラー?...
-
Access ADOで文字列を日付型へi...
-
CreateObjectでエラー
-
LTspiceのTime Stepエラーについて
おすすめ情報