-PR-
  • すぐに回答を!
  • 質問No.3023404
解決
済み

「定数式が必要です。」って何のこと?

  • 閲覧数6362
  • ありがとう数11
  • 気になる数0
  • 回答数5
  • コメント数0

お礼率 83% (120/144)

ExcelVBAで作成したマクロでデータ抽出を行なっていたのですが、
数日前に動作していたマクロが、突然に、
「定数式が必要です」というエラーが出てきて動かなくなりました。
VBAの仕様が変わったのでしょうか?

★エラーの発生したモジュール
Option Explicit
Dim MailCc As String
Sub Mailer()
(中略)
MailTo = Cells(RW_TO, 2).Text ' 宛先
→ MailCc = Cells(RW_CC, 2).Text ' CC
(以下略)

★同一プロジェクトの別モジュール
Global Const RW_CC = 18
  • 回答数5
  • 気になる数0

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

  • 回答No.5
レベル11

ベストアンサー率 60% (127/209)

NO.2です
先程ので解決と思ったのですが・・

以前、原因不明でマクロが動かなくなったとき以下の方法で
直ったことがあります。
試してみてください。

新規ワークブックを作成
ワークシートを全選択します(行と列の間の四角いところをクリック)
ワークシートを新規ワークブックに丸ごとコピーする。
ワークシートが複数ある時は繰り返し

モジュール等を全て新ワークブックへコピー
プロジェクトエクスプローラーでドラッグでも可(たぶん)
参照設定をあわせる
' Microsoft CDO for Windows 2000 Library
' Microsoft ActiveX Data Objects 2.7 Library
' Microsoft Scripting Runtime
でどうでしょうか。
以前私は直ったことがあります。

ところで、
' Microsoft ActiveX Data Objects 2.7 Library

' Microsoft ActiveX Data Objects 2.8 Library
が最新のようですね。
こちらに変えたらいきなり直ったりして?
関係ないと思いますが
お礼コメント
hatsuzo

お礼率 83% (120/144)

どうもアドバイス有難うございました。

' Microsoft ActiveX Data Objects 2.7 Library を
' Microsoft ActiveX Data Objects 2.8 Library
に変えたら直りました。

WindowsUpdateの影響かもしれないですね。
このようなことがあるかと思うと、正直、VBAを定型業務に使ってよいものか迷ってしまいます。

助かりました。感謝いたします。
投稿日時 - 2007-05-24 09:18:33
  • ありがとう数0
-PR-
-PR-

その他の回答 (全4件)

  • 回答No.2
レベル11

ベストアンサー率 60% (127/209)

→ MailCc = Cells(RW_CC, 2).Text ' CC ここでエラーと言う事でしょうか。 だとすれば、 MailCc = Cells(RW_CC, 2).Text の1つ上に Debug.print RW_CC として イミディエトウインドウには 何が出力されますか。 18のはずですが違う数字例えば0など・・ ...続きを読む
→ MailCc = Cells(RW_CC, 2).Text ' CC
ここでエラーと言う事でしょうか。

だとすれば、
MailCc = Cells(RW_CC, 2).Text
の1つ上に
Debug.print RW_CC
として
イミディエトウインドウには
何が出力されますか。
18のはずですが違う数字例えば0など・・
お礼コメント
hatsuzo

お礼率 83% (120/144)

有難うございます。

コンパイルエラーなので、
実行できないため、イミディエトウインドウの操作はできません。
投稿日時 - 2007-05-23 13:43:26
  • ありがとう数0
  • 回答No.4
レベル11

ベストアンサー率 60% (127/209)

NO2です。 では、参照設定で不足しているものはないですか。 例えば、アドインとか 最近システム変更して、DLLが変わった、削除したとか ...続きを読む
NO2です。

では、参照設定で不足しているものはないですか。
例えば、アドインとか
最近システム変更して、DLLが変わった、削除したとか
お礼コメント
hatsuzo

お礼率 83% (120/144)

有難うございます。

参照設定したDLLは一応コメントに記録してあるのですが、
特に外れているわけではないです。
' Microsoft CDO for Windows 2000 Library
' Microsoft ActiveX Data Objects 2.7 Library
' Microsoft Scripting Runtime
WindowsUPDATEはしていますが、勝手にDLLまで置き換えられることもあるのでしょうか?
投稿日時 - 2007-05-23 15:27:23
  • ありがとう数0
  • 回答No.1
レベル14

ベストアンサー率 34% (1124/3287)

こんにちは。  >→ MailCc = Cells(RW_CC, 2).Text ' CC   ↑ここにある矢印はどういう意味ですか? では。 ...続きを読む
こんにちは。

 >→ MailCc = Cells(RW_CC, 2).Text ' CC
  ↑ここにある矢印はどういう意味ですか?

では。
お礼コメント
hatsuzo

お礼率 83% (120/144)

失礼しました。
ここでエラー発生という意味です。
投稿日時 - 2007-05-23 13:39:27
  • ありがとう数0
  • 回答No.3
レベル14

ベストアンサー率 34% (1124/3287)

こんにちは、#1です。  エラーの発生した行をコメントにして、#2さんの言われた方法を実行するとどうなりますか。 では。 ...続きを読む
こんにちは、#1です。

 エラーの発生した行をコメントにして、#2さんの言われた方法を実行するとどうなりますか。

では。
お礼コメント
hatsuzo

お礼率 83% (120/144)

お返事有難うございます。

ウォッチ式にRW_CCという定数を追加して、
そのステップで止めてみましたが、
「ウォッチ式が不正です」ということで見ることもできません。
投稿日時 - 2007-05-23 14:25:32
  • ありがとう数0
  • 回答数5
  • 気になる数0
このQ&Aで解決しましたか?

関連するQ&A

-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ