• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルから関数を抜き取る方法)

エクセルから関数を抜き取る方法

このQ&Aのポイント
  • エクセル2007で複数のシートに色々と関数を組み込んだファイルがあります。関数の引数の正しさを検証するために、関数を抜き取って一覧化する方法を知りたいです。
  • 関数表示のエクセルを印刷するには、1シートの内容が大きく、1ページに収めると小さすぎて判読できません。メモ帳などへの関数の抽出方法があれば教えてください。
  • エクセルファイル中に設定されている関数をテキストなどに抽出し、印刷したいと考えています。関数をまとめて抽出する方法があれば教えてください。

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

  • ベストアンサー
回答No.2

シート上に「ボタン1」を配置して、クリック時のイベントプロシージャに以下のプロシージャを指定して下さい。 ボタン1をクリックすると、ワークシートがある場所に「func.txt」というファイルが出来上がり、関数っぽい数式が列挙されます。 Sub ボタン1_Click() Open "func.txt" For Output As #1 For Each s In Sheets s.Activate For Each a In Range("A1:G300") If a.Formula <> "" Then If InStr(1, a.Formula, "(") >= 1 Then Print #1, s.Name & ":" & a.Address & "=""" & a.Formula & """" End If End If Next Next Close #1 End Sub 実行例(出来上がるfunc.txtの中身) Sheet1:$A$1="=SUM(A3:C5)" Sheet1:$A$3="=SIN(0)" Sheet2:$A$2="=COS(1)" Sheet3:$C$2="=SUMIF(B3:C5,0)" 上記では、シートの範囲を「A1~G300」にしていますので、状況に合わせて書き換えて下さい。 実行すると、アクティブなシートが「最後のシート」に変わるので、手動でボタンがあるシートに移動して下さい。 なお「関数っぽい数式」とは「式の中に『(』がある式」になっています。

Doctork1n4d1
質問者

お礼

たった今、関数を抜き取ることができました。 マクロを組み立てて頂きありがとうございました。

その他の回答 (3)

回答No.4

シートの名前と場所、ダブルクォートが邪魔な場合は Print #1, s.Name & ":" & a.Address & "=""" & a.Formula & """" を Print #1, a.Formula に変えて下さい。 どこに書かれた式なのかは判らなくなりますが、結果のfunc.txtをソートしてあげれば =COS(1) =COS(A2) =SIN(0) =SUM(A3:C5) =SUM(B3:C5) =SUM(D3:F5) =SUMIF(B3:C5,0) のようになり、同じ名前の関数が並びます。

Doctork1n4d1
質問者

お礼

引き続きの回答ありがとうございました。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

数式だけを別シートに表示させたいなら以下のような手順が簡単です。 準備として、ホームタブのクリップボードの右下のダイアログ起動ツールをクリックし、Officeクリップボードを表示しておきます。 さらに、数式表示用シート全体を選択して、セルの書式設定で「文字列」にします。 数式が含まれているシートでCtrl + Shift + @キーでセルの表示を関数にしておき、Ctrl+Gでジャンプダイアログを出し、「セル選択」から「数式」にチェックを入れ、Ctrl+Cでコピーし、数式表示用シートでOfficeクリップボードのコピー内容をクリックして貼り付け、右下に表示される貼り付けオプションのアイコンをクリックして「貼り付け先の書式に合わせる」を選択してください。

Doctork1n4d1
質問者

お礼

ご回答ありがとうございました。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

エクセルのオプションの詳細設定で、計算結果の代わりに数式をセルに表示する(R)を選択し、コピーしてメモ帳に貼り付けてみて下さい。

Doctork1n4d1
質問者

お礼

ご回答ありがとうございました。