総ありがとう数 累計4,283万(2014年10月23日現在)

毎月4,000万人が利用!Q&Aでみんなで助け合い!

-PR-
hatsuzo

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

Aみんなの回答(全5件)

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

  • 2007-05-23 19:06:12
  • 回答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
が最新のようですね。
こちらに変えたらいきなり直ったりして?
関係ないと思いますが
お礼コメント
どうもアドバイス有難うございました。

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

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

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

その他の回答 (全4件)

  • 2007-05-23 12:35:15
  • 回答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 13:43:26
通報する
  • 同意数0(0-0)
  • ありがとう数0
  • 2007-05-23 14:53:05
  • 回答No.4
NO2です。

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

参照設定した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(0-0)
  • ありがとう数0
  • 2007-05-23 11:45:24
  • 回答No.1
こんにちは。

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

では。
お礼コメント
失礼しました。
ここでエラー発生という意味です。
投稿日時 - 2007-05-23 13:39:27
通報する
  • 同意数0(0-0)
  • ありがとう数0
  • 2007-05-23 13:50:54
  • 回答No.3
こんにちは、#1です。

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

では。
お礼コメント
お返事有難うございます。

ウォッチ式にRW_CCという定数を追加して、
そのステップで止めてみましたが、
「ウォッチ式が不正です」ということで見ることもできません。
投稿日時 - 2007-05-23 14:25:32
通報する
  • 同意数0(0-0)
  • ありがとう数0
  • 回答数5
  • 気になる数0
  • ありがとう数5
  • ありがとう
  • なるほど、役に立ったなど
    感じた思いを「ありがとう」で
    伝えてください

関連するQ&A

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

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

あなたの悩みをみんなに解決してもらいましょう

  • 質問する
  • 知りたいこと、悩んでいることを
    投稿してみましょう
-PR-
-PR-
-PR-

特集

専門医・味村先生からのアドバイスは必見です!

関連するQ&A

-PR-

ピックアップ

  • easy daisy部屋探し・家選びのヒントがいっぱい!

-PR-
ページ先頭へ