- ベストアンサー
エクセルシートに関数を挿入するコードが数式表示
- エクセルシートに関数を挿入するコードを使って計算結果を表示させる方法について教えてください。
- 別のシートに組み込むと計算結果が表示されず、数式だけが表示される問題についても解決方法を教えてください。
- vbaを使用して計算結果を自動表示する方法についてアドバイスをお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
回答No.1様も仰っておられる「計算結果と数式の表示」がONになっているのをOFFにするだけでしたら、Excel2007以降のバージョンのエクセルの場合における操作方法は、次の様になります。 Excelのウィンドウの上の方にある[数式]タブをクリック ↓ 現れた「ワークシート分析」グループの中にある[数式の表示]ボタンがONになっている事を確認してから、そのボタンをクリック 【参考URL】 アニッシュスクール通信 > エクセル > 2015.05.13 エクセルシートの計算式を表示するための2パターン!一括表示で管理も簡単に http://anish-pcschool.com/excel-keisanshiki-hyouji なんだ!カンタン!Excel塾 > Excel2013の使い方 > 4.Excel2013の関数技ベスト > セルに入力した数式や関数を全部表示するには http://kokodane.com/2013_kan_018.htm そして、上記の操作を前回の御質問でベストアンサーとなったVBAに組み込んで自動化させるとしますと以下の様なVBAとなります。 Sub QNo9234684_Excel上で関数を入れるコード_For_Next_改() With Sheets("Sheet1") ActiveWindow.SheetViews(.Name).DisplayFormulas = False .Range("C1:C" & .Range("A" & Rows.Count).End(xlUp).Row).FormulaR1C1 = _ "=WEEKNUM(RC[-1])-WEEKNUM(DATE(YEAR(RC[-1]),MONTH(RC[-1]),1))+1" End With End Sub 或は Sub QNo9234684_Excel上で関数を入れるコード_For_Next_改2() ActiveWindow.SheetViews("Sheet1").DisplayFormulas = False Sheets("Sheet1").Range("C1:C" & Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row).FormulaR1C1 = "=WEEKNUM(RC[-1])-WEEKNUM(DATE(YEAR(RC[-1]),MONTH(RC[-1]),1))+1" End Sub しかしながら、もしも「計算結果と数式の表示」がONになっているのであれば、 >F2で編集状態にし、enterを押す という操作を行っても数式が表示されたままとなる筈で、計算結果が表示される事はありません。 ですから、 >F2で編集状態にし、enterを押すと計算結果が表示されます。 という事は、「計算結果と数式の表示」が原因ではないという事になりますので、「計算結果と数式の表示」をOFFにしたところで御質問の現象は解消されないと思われます。 私にも何故、 >別のシートに組み込むと、セルに数式だけが表示されるようになりました。 >F2で編集状態にし、enterを押すと計算結果が表示されます。 という現象が起こるのかは解りませんが、 >F2で編集状態にし、enterを押すと計算結果が表示されます。 という事であれば、次の方法を試してみて下さい。 セルに数式だけが表示されている状態で、その数式が入力されている範囲をまとめて範囲選択 ↓ Excelのウィンドウの上の方にある[数式]タブをクリック ↓ 現れた「編集」グループの中にある[検索と選択]ボタンをクリック ↓ 現れた選択肢の中にある[置換]を選択してクリック ↓ 現れた「検索と置換」ダイアログボックスの[置換]タブの中にある「検索する文字列」欄と「置換後の文字列」欄の両方に半角文字の「=」を入力 ↓ 「検索と置換」ダイアログボックスの[すべて置換]ボタンをクリック ↓ 必要があれば「検索と置換」ダイアログボックスの[閉じる]ボタンをクリック 上記の操作を行う事でセルに入力されている数式を入力しなおすのと同じ効果が得られる場合がありますので、もしかしますと >F2で編集状態にし、enterを押す という操作をまとめて行ったのと同じ効果が得られる"可能性があります"。 そしてもし上記の方法で上手く行った場合には、それをVBAに組み込んで自動化させると以下の様なVBAとなります。 Sub QNo9234684_Excel上で関数を入れるコード_For_Next_改3() With Sheets("Sheet1") With .Range("C1:C" & .Range("A" & Rows.Count).End(xlUp).Row) .FormulaR1C1 = "=WEEKNUM(RC[-1])-WEEKNUM(DATE(YEAR(RC[-1]),MONTH(RC[-1]),1))+1" .Replace What:="=", Replacement:="=", LookAt:=xlPart End With End With End Sub
その他の回答 (1)
- k-josui
- ベストアンサー率24% (3220/13026)
お礼
ワークシートタブの数式の表示を押しましたがダメでした
補足
ありがとうございます Shift+ctrl+@でも変わりません バージョンが2013ですが、表示ーウィンドウオプションの数式のチェック項目がないのですが…
お礼
できました! 長い間詰まっていた問題でしたので、解決して助かります。 毎日使うコードなので助かります。 「計算結果と数式の表示」が原因ではなかったようです。 .Replace What:="=", Replacement:="=", LookAt:=xlPartで解決できました。 ありがとうございます。