人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

いつもありがとうございます。
EXCEL VBAで質問です。

関数が混在した以下の数式を、指定セルに入力するVBAの記述をお教えください。

A1セルに以下の数式を入力します。

=IF(B15-B16=0,"現金の過不足はありません",IF(B15-B16<0,"現金が"&TEXT(ABS(B15-B16),0)&"円超過しています","現金が"&TEXT(B15-B16,0)&"円不足しています"))


コードをずばりご教授ください。

どうぞよろしくお願いいたします。

●質問者: kitatom
●カテゴリ:コンピュータ インターネット
✍キーワード:A1 ABS Excel VBA ありがとうございます
○ 状態 :終了
└ 回答数 : 6/6件

▽最新の回答へ

1 ● gong1971
●50ポイント

以下の記述でOKです。こういった場合は記録マクロが便利ですね。

Range("A1").FormulaR1C1 = _
 "=IF(R[14]C[1]-R[15]C[1]=0,""現金の過不足はありません"",IF(R[14]C[1]-R[15]C[1]<0,""現金が""&TEXT(ABS(R[14]C[1]-R[15]C[1]),0)&""円超過しています"",""現金が""&TEXT(R[14]C[1]-R[15]C[1],0)&""円不足しています""))"
◎質問者からの返答

激速のレスポンスありがとうございます。できれば相対参照ではなく、絶対参照がよいのですが、再送いただけますでしょうか?


2 ● きゃづみぃ
●50ポイント

If Range("B15") - Range("B16") = 0 Then

Range("A1") = "現金の過不足はありません"

Else

If Range("B15") - Range("B16") < 0 Then

Range("A1") = "現金が" & Abs(Range("B15") - Range("B16")) & "円超過しています"

Else

Range("A1") = "現金が" & (Range("B15") - Range("B16")) & "円不足しています"

End If

End If


となります。

◎質問者からの返答

いつもありがとうございます!質問の仕方がまずかったのかもしれません。すみません。質問の意図は、「関数を含んだ任意の式を、セルに入力する」という意味でした。


3 ● ootatmt
●50ポイント

絶対参照なら、

Range("A1").FormulaR1C1 = _

"=IF(R15C2-R16C2=0,""現金の過不足はありません"",IF(R15C2-R16C2<0,""現金が""&TEXT(ABS(R15C2-R16C2),0)&""円超過しています"",""現金が""&TEXT(R15C2-R16C2,0)&""円不足しています""))"

こんな感じ。

◎質問者からの返答

なるほど、ありがとうございます。”R15C2”の部分は、Rangeを利用して、「B15」という形式での記述はできないのでしょうか?


4 ● きゃづみぃ
●50ポイント ベストアンサー

あ、数式を入れるだけなんですね

Range("A1") = "=IF(B15-B16=0,""現金の過不足はありません"",IF(B15-B16<0,""現金が""&TEXT(ABS(B15-B16),0)&""円超過しています"",""現金が""&TEXT(B15-B16,0)&""円不足しています""))"


で "は ""にすればいいだけです。

◎質問者からの返答

りょうかいです。いつもすみません。。。ありがとうございました。


5 ● gong1971
●50ポイント

追記です。もし、R1C1形式だと分かりにくいなぁ...という事であれば、

下記の記述でもOKです。ポイントとして、""内で"を使用する場合は、

""と重ねる必要があります。よって作成した数式をエディタなどで

" → "" と置換し、両端を""で括り、Formulaプロパティで数式を代入します。

Range("A1").Formula = _
 "=IF(B15-B16=0,""現金の過不足はありません"",IF(B15-B16<0,""現金が""&TEXT(ABS(B15-B16),0)&""円超過しています"",""現金が""&TEXT(B15-B16,0)&""円不足しています""))"

という事ではなく、絶対参照でという事であれば...

'A1形式
Range("A1").Formula = _
 "=IF($B$15-$B$16=0,""現金の過不足はありません"",IF($B$15-$B$16<0,""現金が""&TEXT(ABS($B$15-$B$16),0)&""円超過しています"",""現金が""&TEXT($B$15-$B$16,0)&""円不足しています""))"

もしくは...

'R1C1形式
Range("A1").FormulaR1C1 = _
 "=IF(R15C2-R16C2=0,""現金の過不足はありません"",IF(R15C2-R16C2<0,""現金が""&TEXT(ABS(R15C2-R16C2),0)&""円超過しています"",""現金が""&TEXT(R15C2-R16C2,0)&""円不足しています""))"
◎質問者からの返答

詳しいご説明恐縮です。ありがとうございました。


1-5件表示/6件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ