- ベストアンサー
Excel 関数返り値を「値」に
Excel の関数の返り値そのものを数値に置き換える関数はないのでしょうか。 たとえば、=VLOOKUP()でみているセル値をそのまま「値」に置き換える。 (LOOKUPの対象が変わっても、前の値を保持するため)など 関数がドグサければマクロでも。 教えて下さい。よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>数値に置き換える関数はないのでしょうか ありません。 そのセルをコピーして、「編集」→「形式を選択して貼り付け」→「値」で式ではなく値に変換することは可能です。 それをマクロにすると以下のようになります Sub Macro2() Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False End Sub 私もこのマクロの貼り付け部分だけのマクロをショートカットキーに割り付けて使用していますが、結構重宝します。 またマクロでVLOOKUP関数相当の処理を行って、セルに値を書き込むことも可能ですが、質問内容だけではマクロにできません。 ところで「ドグサければ」って何でしょう
その他の回答 (2)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 通常、関数の値を数値に変える方法は、 表示-ツールバー-ユーザー設定 コマンド-編集-値貼り付け で、アイコンをツールバーにドラッグします。 使い方は、Ctrl+C で コピー→ その範囲をそのままにした状態で、 [値貼り付け] をクリックします。 >Excel の関数の返り値そのものを数値に置き換える関数はないのでしょうか。 ないとは言いませんが、それは、私は一度も公開したことがありません。中を開ければ、「ドグサ」いからですね。(単に、人を驚かすだけのもので、そんなもん使えるかって言われそうだから)。ただ、いくらMS VBAの正規マニュアル本を読んでも、その方法は出てきません。COMなどの外からの制御もしていません。それに、「K茶」さんとは別の手法だと思います。謎は謎のままでもよいと思います。 それと、余談ですが、私のマクロの中に、「関西風」と名づけた手法がありますね(^^;
お礼
Wendy02さん ありがとうございます。 やっと八合目にきました。
- HERO TKS(@HERO_TKS)
- ベストアンサー率34% (146/422)
Sub test() With Range("A1")’任意のセルに変えて見てね^^ .Formula = "=vlookup(ここにVlookupの中身を入れてみては?)" .Value = .Value End With End Sub どうでしょう
お礼
HERO_TKSさん ありがとうございました。 > ここにVlookupの中身を入れて どういう書き方になるのでしょうか。
お礼
zap35さん ありがとうございます。 私には不用なのですが、扱いなれない知人のために、計算結果を保存できるよう、ブックを別名保存して終了するマクロを作っています。 そのマクロの途中で、主数表とは別にしてあるVLOOKUP計算用シートを削除してしまいたいので、主数表のセルのうち、VLOOKUP計算対象のところを「値」に変換したかったのです。 お蔭様で巧くいきそうです。 > 「ドグサければ」って何でしょう ANo.3に解説をいただいております。