-PR-

解決済みの質問

質問No.3023404
すぐに回答を!
すぐに回答を!
お気に入り投稿に追加する (0人が追加しました)
回答数5
閲覧数4823
「定数式が必要です。」って何のこと?
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
投稿日時 - 2007-05-23 11:38:59

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

回答No.5
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
が最新のようですね。
こちらに変えたらいきなり直ったりして?
関係ないと思いますが
投稿日時 - 2007-05-23 19:06:12
この回答を支持する
(現在0人が支持しています)
お礼
どうもアドバイス有難うございました。

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

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

助かりました。感謝いたします。
投稿日時 - 2007-05-24 09:18:33

ベストアンサー以外の回答 (4)

回答No.4
NO2です。

では、参照設定で不足しているものはないですか。
例えば、アドインとか
最近システム変更して、DLLが変わった、削除したとか
投稿日時 - 2007-05-23 14:53:05
この回答を支持する
(現在0人が支持しています)
お礼
有難うございます。

参照設定した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
回答No.3
こんにちは、#1です。

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

では。
投稿日時 - 2007-05-23 13:50:54
この回答を支持する
(現在0人が支持しています)
お礼
お返事有難うございます。

ウォッチ式にRW_CCという定数を追加して、
そのステップで止めてみましたが、
「ウォッチ式が不正です」ということで見ることもできません。
投稿日時 - 2007-05-23 14:25:32
回答No.2
→ MailCc = Cells(RW_CC, 2).Text ' CC
ここでエラーと言う事でしょうか。

だとすれば、
MailCc = Cells(RW_CC, 2).Text
の1つ上に
Debug.print RW_CC
として
イミディエトウインドウには
何が出力されますか。
18のはずですが違う数字例えば0など・・
投稿日時 - 2007-05-23 12:35:15
この回答を支持する
(現在0人が支持しています)
お礼
有難うございます。

コンパイルエラーなので、
実行できないため、イミディエトウインドウの操作はできません。
投稿日時 - 2007-05-23 13:43:26
回答No.1
こんにちは。

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

では。
投稿日時 - 2007-05-23 11:45:24
この回答を支持する
(現在0人が支持しています)
お礼
失礼しました。
ここでエラー発生という意味です。
投稿日時 - 2007-05-23 13:39:27
この質問は役に立ちましたか?
5人が「このQ&Aが役に立った」と投票しています
もっと聞いてみる

関連するQ&A

この他の関連するQ&Aをキーワードで探す

別のキーワードで再検索する

回答募集中

同じカテゴリの人気Q&Aランキング

カテゴリ
Visual Basic
-PR-
-PR-

特集

背筋がゾクゾクする心霊体験を要チェック!

お城、ボート、ツリーハウス、ユニークな物件満載!

発見や気づきのある調査結果をお届け!

このQ&Aの関連キーワード

同じカテゴリの人気Q&Aランキング

カテゴリ
Visual Basic
-PR-

回答のついた最新のQ&A

ピックアップ

-PR-