• 締切済み

教えてください。 2008_12_12

エクセル関数に詳しい方、教えてください。 どのセルに、どうゆう関数を入れればいいか教えていただきたいです。 1、A1に直接入力されていたら、A2を関数式計算させる(入力済み)  A2に関数式を無視して直接入力したら、A1は空白になる。  A2が空白なら、A1も空白。 2、あるセルに数値が無ければ(空白)、指定列を非表示にする関数式。 3、これは関数ではないですが、マクロを使用してないのにセキュリテ ィー警告(開いたときに出るやつ)が出てくるので出ないようにした い。*セキュリティーレベルを下げないやり方。 4、*** 以上、分かる方教えてください。

みんなの回答

回答No.3

3、のみ回答。 [ツール]-[マクロ]-[Visual Basic Editor]で、 [プロジェクトエクスプローラ](画面左上)の [VBAProject]-[標準モジュール]配下のモジュールを右クリックして、 [解放]。(エクスポート確認メッセージは[いいえ])

51308700
質問者

お礼

返事大変遅くなり、申し訳ありません。 今、確認させてもらいました。 shikisaitoさんの言う通り行ってみたところ、 マクロが消えました。 大変、役立ちました。ありがとうございます。 今後とも何かあれば、ご指導宜しくお願いします。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

1.関数では無理です。 A1の関数がA2を参照し、A2の関数がA1を参照している状態を循環参照と言い無限に演算が続きかねません。Excelでは循環参照を許可しても途中で止まります。 それに、「直接入力」=「セル入っていた関数を消してしまう」です。 関数が消されてはそれ以上何も出来ません。 もう少し具体的に「こう言うことがしたい」と言う例があれば何かいい方法があるかも知れません。 2.これも関数では無理です。 マクロでなら↓の様にして可能です。 Sub Sample()  Range("F7").Select '例としてF7  If Selection.Value = "" Then '空か確認   Selection.EntireColumn.Hidden = True 'F7を含む列を非表示  End If End Sub 3.各シートやThisWorkbookにマクロがあるのではないですか? 確認してみてください

51308700
質問者

お礼

ありがとうございます。 (1)に関してはやりたいことをもう少し考えて、簡易的に出来ないか考えてみます。 とても参考になり、助かりました。

回答No.1

正直、今ひとつ質問の意味が理解できません。さらに、質問は個別に分けて記載してください。また、正確な回答を得たいのであれば、EXCELのバージョンを明示してください。 1.について 1)例えば、A1に「A」と入力されていれば、A2に「August」と表示する式 A1は直接入力なので、計算式はなく、値は「A」 A2には、下記の関数を入力。 =IF(A1="A","August","") ここでは、A1の値が「A」以外であれば、何も表示しない(="")式となっています。 2)A2に関数式を無視して直接入力すれば、A1は空白。 1)と2)は両立しません。 なぜなら、1)ではA1に直接入力することが前提とされていて、2)ではA2に直接入力(=関数を消すこと)が前提とされているからです。 つまり、直接入力すれば関数を入力できないことを意味しています。 2.あるセルに数値が無ければ(空白)、指定列を非表示にする関数式。 これもできません。 3.これは、質問の前提が誤りです。マクロを使用していなければセキュリティー警告は決して開かないからです。たとえ、操作者本人がマクロはないと思っていても、マクロの残骸があればこのメッセージボックスは必ず出ます。 ツール→マクロ→マクロのタブから、マクロが残っていないか、確認してください。

51308700
質問者

お礼

回答ありがとうございます。 なにとぞ初めてだったもので・・・ 回答欄の先に述べてあるように、これからは気を付けます。 (1)、(2)は考えを練り直します。 (3)についてやっぱり全シート再確認したんですが、やっぱり無かったです。???って感じです。 今回はありがとうございました。 また何かあればお助け下さい。  

関連するQ&A