[Mac][Excel] 数式を値に、値を数式に変換する (イコールを取ったり、つけたりする) マクロ Excel for Mac

USBにあるエクセルファイルのデータを参照して、PCにあるエクセルファイルで作業する機会があった。というのは、USBのエクセルファイルには、自分のPCに置いておきたくないような情報が入っていたので、そのファイルをPCに移してしまうことはせずに、PCのエクセルファイルからデータを読み出し、そのPC上のエクセルファイルで作業を進めたのだ。

イメージとしてはこのような感じ:

エクセルファイル2 をPCにコピーしたくなかったので、エクセルファイル1 で参照して作業

もうすこし具体的には、エクセルファイル1 (PC上のファイル) で

='/Volumes/USB名/.../[エクセルファイル2.xlsx]シート名'セル番地
という数式を入力して、PC上でUSB内のエクセルデータの値を参照していた。

想定としては、USBを抜いてしまえば、PCのファイルからは参照されたデータが見えなくなってしまうと思っていたのだが、そうでもなさそう。エクセルファイル1 を開いた際に、リンクを更新しなければ、エクセルファイル2 のデータが見えてしまう (ようだ)。

"更新しない" をクリックすると、USBのデータが見えてしまう (みたい)

USBのデータがPCから見えてしまうのを避けたい。ということで、解決策として、上記の数式を値にしてしまうマクロ、つまりイコールを取ってしまうマクロを書いてみた。イコールを取られた値に対して実行すると、またイコールが付与された数式になります。次のようなイメージ:

='/Volumes/USB名/.../[エクセルファイル2.xlsx]シート名'セル番地
↓↑
'/Volumes/USB名/.../[エクセルファイル2.xlsx]シート名'セル番地

*変換したい範囲を選択してから実行します。

0 件のコメント:

コメントを投稿

[Windows] AutoHotKey その2

職場の Windows PC に AutoHotKey というソフトを導入して、キーバインドを変更 したら、ものすごくキー入力が楽になった。ホームポジションから手をはずさずに上下左右、行頭・行末にカーソルを移動させたり、文字を削除したりできる。ストレスフリー。 カーソル移動系...