dポイントプレゼントキャンペーン実施中!

Excel の関数の返り値そのものを数値に置き換える関数はないのでしょうか。

たとえば、=VLOOKUP()でみているセル値をそのまま「値」に置き換える。
     (LOOKUPの対象が変わっても、前の値を保持するため)など

関数がドグサければマクロでも。

教えて下さい。よろしくお願いします。

A 回答 (3件)

>数値に置き換える関数はないのでしょうか


ありません。

そのセルをコピーして、「編集」→「形式を選択して貼り付け」→「値」で式ではなく値に変換することは可能です。
それをマクロにすると以下のようになります
Sub Macro2()
 Selection.Copy
 Selection.PasteSpecial Paste:=xlPasteValues
 Application.CutCopyMode = False
End Sub

私もこのマクロの貼り付け部分だけのマクロをショートカットキーに割り付けて使用していますが、結構重宝します。
またマクロでVLOOKUP関数相当の処理を行って、セルに値を書き込むことも可能ですが、質問内容だけではマクロにできません。

ところで「ドグサければ」って何でしょう
    • good
    • 8
この回答へのお礼

zap35さん ありがとうございます。
私には不用なのですが、扱いなれない知人のために、計算結果を保存できるよう、ブックを別名保存して終了するマクロを作っています。
そのマクロの途中で、主数表とは別にしてあるVLOOKUP計算用シートを削除してしまいたいので、主数表のセルのうち、VLOOKUP計算対象のところを「値」に変換したかったのです。
お蔭様で巧くいきそうです。

> 「ドグサければ」って何でしょう
ANo.3に解説をいただいております。

お礼日時:2007/07/06 13:02

こんにちは。



通常、関数の値を数値に変える方法は、

表示-ツールバー-ユーザー設定

コマンド-編集-値貼り付け

で、アイコンをツールバーにドラッグします。

使い方は、Ctrl+C で コピー→ その範囲をそのままにした状態で、
[値貼り付け] をクリックします。

>Excel の関数の返り値そのものを数値に置き換える関数はないのでしょうか。

ないとは言いませんが、それは、私は一度も公開したことがありません。中を開ければ、「ドグサ」いからですね。(単に、人を驚かすだけのもので、そんなもん使えるかって言われそうだから)。ただ、いくらMS VBAの正規マニュアル本を読んでも、その方法は出てきません。COMなどの外からの制御もしていません。それに、「K茶」さんとは別の手法だと思います。謎は謎のままでもよいと思います。

それと、余談ですが、私のマクロの中に、「関西風」と名づけた手法がありますね(^^;
    • good
    • 1
この回答へのお礼

Wendy02さん ありがとうございます。
やっと八合目にきました。

お礼日時:2007/07/06 13:03

Sub test()


With Range("A1")’任意のセルに変えて見てね^^
.Formula = "=vlookup(ここにVlookupの中身を入れてみては?)"
.Value = .Value
End With
End Sub
どうでしょう
    • good
    • 0
この回答へのお礼

HERO_TKSさん ありがとうございました。

> ここにVlookupの中身を入れて

どういう書き方になるのでしょうか。

お礼日時:2007/07/06 12:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています