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

aとbの変数を用いた計算式を入力するマクロを作りたいのですが、変数がそのまま文字として反映されてしまいます。(値が入りません)
どのようにすればよいでしょうか?

a = Range("A10").End(xlDown).Value
b = Range("C10").End(xlDown).Value
Range("E14").Formula = "=1-ABS(1-(a/b))"

A 回答 (3件)

こんばんは、横から失礼します。


ご質問のは、すでに回答がありますね。

Range("A10").End(xlDown).Valueで取得したセルアドレスを数式に入れたいのであれば、
a = Range("A10").End(xlDown).Address(0, 0)
b = Range("C10").End(xlDown).Address(0, 0)
Range("E14").Formula = "=1-ABS(1-(" & a & "/" & b & "))"
    • good
    • 0
この回答へのお礼

ありがとうございます。求めていた動作になりました!!

お礼日時:2020/11/06 13:17

"で囲うと、文字列と見做すから。


値を入れたいなら、No1の方の様に連結で行くか
または
Range("E14").Formula=1-ABS(1-(a/b)) とする。
    • good
    • 0

A10に1.2、C10に3.5が入ってたとして、


E14に、
=1-ABS(1-(1.2/3.5))
って入って欲しいって事で良いのでしょうか。


> Range("E14").Formula = "=1-ABS(1-(a/b))"

Range("E14").Formula = "=1-ABS(1-("&a&"/"&b&"))"

と、文字列の連結で数値を入れるとか。
    • good
    • 1
この回答へのお礼

おっしゃるとおりです。
早速式を入力してみたのですが、
式が=1-ABS(1-(TRUE / TRUE))となってしまいます。

仮にaの意味するセルをA100、bの意味するセルをC100としたとき、
=1-ABS(1-(A100 / C100))のように、セル番号で入るようなものを作ることはできますでしょうか?

お礼日時:2020/11/05 16:15

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