• 締切済み

あるマクロが実行できず困っていました。恐らく参照先

あるマクロが実行できず困っていました。恐らく参照先のセルの書式の問題だったのですが、原因がよくわからず。数字が入力してあるセルをダブルクリックして、エンターを押して別のセルに行くと、セルの左上に緑印が付きます。すると、マクロが実行できるようになりました。 緑印がつくと、書式設定が変わったりするのでしょうか?印がつくだけだとと思ってましたが、実行できないマクロが実行できるようになったので、何かが変わったのかと思いました。 質問文がわかり辛いですが、わかる方いたら教えて下さい

みんなの回答

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.3

セルの左上に緑印が付くのは、 ファイル>オプション>数式>エラーチェックルールの「文字列形式の数値、 またはアポストロフィで始まる数値」にチェックが入っているからです。 >ダブルクリックして、エンターを押して別のセルに行くと、セルの左上に >緑印が付きます。すると、マクロが実行できるようになりました。 「セルの左上に緑印が付く」のは、ダブルクリック(編集モードにしている)してEnterを押して再計算が行われたからです。 再計算の結果、「文字列形式の数値」が見つかったわけです。「セルの左上に緑印が付いた」のでマクロが動いたと考えないほうがいいでしょう。エラーチェックルールをオフにしていれば緑色にはならないわけですから。 添付図のような処理を行ってみました。 上段は数値を3つ入力しています。(文字列1つ)  C列で、Cell関数のType、  D列で、VBAのVarType関数の値を表示しています。 中段は、数値の書式を「文字列」に変更しました。しかし、C,D列の値は変わっていません。文字列に変更しただけでは、セルの左上に緑印は付きません。これは、書式の変更が再計算のトリガーにならないからです。多分、この質問のキーワードは「再計算」です。 下段は、3つのセルでダブルクリックして、エンターを押してみました。2つの関数は正しく計算されました。セルの左上に緑印が付きました。 止まったというマクロやBookの内容がまるっきり分からないので、想像ですが  1.マクロは何らかの原因で止まった。     →可能性としては、マクロ実行前かマクロ中断前までに、再計算が      発生しない処理を行なっていた。または再計算を禁止している。      その結果、何らかの矛盾が起き、エラーが発生した。  2.マクロが止まったので、ダブルクリックして、エンターを押した     →EnterがトリガーになってBookの再計算が行われた。  3.再計算が行われたので、マクロが実行可能になった。     →マクロ自体に原因があれば再度エラーが発生する可能性がある。 当方、Win10、Excel2010です。

noname#242799
質問者

お礼

曖昧な質問でしたが、ありがとうございました。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

まず>セルの左上に緑印が付きます のマークの意味を調べましょう。正式名称は「エラーインディケーター」 どういう場合に出るかは https://prau-pc.jp/excel/undisplayed-error/ などの (Googleで「Excel セルの右上の緑三角のマーク」などで照会する) 「エラーの種類は以下のとおり」に解説があるので、どれに該当するのか、1つ1つチェックすること。 そして該当しそうなのを特定して、エラーが出るのが納得できないなら、質問しましょう。 それ位は調べを済ませて、質問すべきです。安易に気になったから質問するでは だめ。読者何千人?があいまいな質問文章を読まされる。 その他の記事 https://answers.microsoft.com/ja-jp/msoffice/forum/msoffice_excel-mso_other-mso_2007/%e3%82%a8%e3%82%af%e3%82%bb%e3%83%ab%e3%81%ae/f59a8127-1981-4494-ad89-5ce222196fd2?messageId=60b9b2cd-b700-40f5-99b6-7c91ec32fd73 >実行できないマクロ 実際の、どういうVBAコード行で止まり、エラーはどういうのが出たのか、質問には、説明するべきです。

noname#242799
質問者

お礼

ありがとうございます。

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.1

セルに数値を入れてから書式を文字列にし、その後にセルをダブルクリックして、エンターを押すと左上に緑が出ます。セルがエラーの可能性がある時に出ますが、書式設定は文字列に変更したときに変更されています。多分セルがアクティブになった時にエラーチェックされるのではないでしょうか。 マクロが動き出したのがなぜなのかはわかりません。

noname#242799
質問者

お礼

わかりやすいお変じありがとうございます。もしかして、文字列だと動かないけど、数値だと動くマクロで、チェックが入ったら、中身が数値だと判明したから動いたのでしょうかね。ありがとうございます。

関連するQ&A