[VBA]Windows7でのFormulatext関数対策

地下鉄の改札18:30。モスクワの地下鉄はどこも帰宅ラッシュで大混雑。電車もあまりの人の数のために数本パスしないと乗れない駅もあります。改札のゲートは一人あたり4秒くらいかかるだろうか、いちいちゲートが開いては閉じて、開いては閉じての繰り返し。いつか壊れるだろう。数年前まではゲートも低かったのでチケットを購入せずにジャンプして飛び越えてゆく輩もちらほら見かけたことがあります。

Excelのセル内に入っている関数を、そのすぐ横あたりに書き出したいことがあります。該当のセルを毎度指定して毎回確認するのは面倒。そんなとき、セル内の関数が可視化できていれば、資料を見る他の人にも分かりやすいし、このブログで関数の入ったエクセル画面の貼付をする際にも便利。

Windows10からはそのための関数“Formulatext( )”がすでに用意されています。プライベートのPCはWindows10のため使用できますが、問題は会社標準機はWindows7。Windows7にはこの関数が標準装備されていないので使用できません。それでも同様の機能が欲しい。

解決策としてVBAを使用します。

Excelが開いている状態で、Alt+F11を押してマクロのコードを記述・編集するVBEを開く。

Insert > Moduleをクリック。Moduleに以下のコードを書きこむ。

Function FT(mycell As Range)

FT = mycell.Formula

End Function

(参照URL)https://www.mrexcel.com/forum/excel-questions/756432-there-excel-2010-equivalent-formulatext.html)

これで完了です。あとは通常の関数を使うのと同様、例えば

=FT(A1)  ‘A1に入力されている関数情報を書き出す

こんな風に無事使えました。このFunction Procedureとは自分で処理したい内容を定義して、自分で関数を作ることができる機能だそうな。今日知りました、実行できて心躍りました。とにかく面白い。

VBAの悩みを日本語で検索してゆくと気が付いたのですが、大概複数の同じWebsiteに行き当たります。いつも重宝して利用させていただいていますが、完全に自分の欲しい答えがあるとは限りません。そんなときに英語で情報を取りに行くことで得られる解決策が少なからずあります。やはり英語は重要です。まして、Codeを読めばお互いの言っていることが分かる世界なので全世界がITを通して繋がるチャンスが多いのでしょうね。

参考: https://www.mrexcel.com/

Author: Author

ロシアのモスクワにある日系企業の管理部門にて長く勤務した後、現在は日本で働く会社員です。モスクワでロシア人と一緒に激動の日々を過ごした中で当時悩み、もがいていた管理業務の情報、体験談を少しでも多くの方々と共有したい、との思いがきっかけとなりブログを始めました。今はロシア、ウクライナの友人たちと連絡を取りながらロシア語の勉強を続け、ただただ平和な世界が来ることを願う日々です。

Leave a Reply

Your email address will not be published.