• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:「定数式が必要です。」って何のこと?)

ExcelVBAでデータ抽出を行う際に発生する「定数式が必要です」エラーについて

このQ&Aのポイント
  • ExcelVBAで作成したマクロでデータ抽出を行なっていたところ、「定数式が必要です」というエラーが発生しました。
  • 以前は正常に動作していたマクロが突然エラーとなったため、VBAの仕様の変更が原因ではないかと疑っています。
  • エラーが発生した箇所は、CCのメールアドレスを取得するための定数式の代入行です。

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

  • ベストアンサー
回答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 が最新のようですね。 こちらに変えたらいきなり直ったりして? 関係ないと思いますが

hatsuzo
質問者

お礼

どうもアドバイス有難うございました。 ' Microsoft ActiveX Data Objects 2.7 Library を ' Microsoft ActiveX Data Objects 2.8 Library に変えたら直りました。 WindowsUpdateの影響かもしれないですね。 このようなことがあるかと思うと、正直、VBAを定型業務に使ってよいものか迷ってしまいます。 助かりました。感謝いたします。

すると、全ての回答が全文表示されます。

その他の回答 (4)

回答No.4

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

hatsuzo
質問者

お礼

有難うございます。 参照設定したDLLは一応コメントに記録してあるのですが、 特に外れているわけではないです。 ' Microsoft CDO for Windows 2000 Library ' Microsoft ActiveX Data Objects 2.7 Library ' Microsoft Scripting Runtime WindowsUPDATEはしていますが、勝手にDLLまで置き換えられることもあるのでしょうか?

すると、全ての回答が全文表示されます。
  • akina_line
  • ベストアンサー率34% (1124/3287)
回答No.3

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

hatsuzo
質問者

お礼

お返事有難うございます。 ウォッチ式にRW_CCという定数を追加して、 そのステップで止めてみましたが、 「ウォッチ式が不正です」ということで見ることもできません。

すると、全ての回答が全文表示されます。
回答No.2

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

hatsuzo
質問者

お礼

有難うございます。 コンパイルエラーなので、 実行できないため、イミディエトウインドウの操作はできません。

すると、全ての回答が全文表示されます。
  • akina_line
  • ベストアンサー率34% (1124/3287)
回答No.1

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

hatsuzo
質問者

お礼

失礼しました。 ここでエラー発生という意味です。

すると、全ての回答が全文表示されます。

関連するQ&A