VBAの話。…突然ですが、わたしはVBAのプログラムの中で""(ダブルクォーテーション)を用いた数式を書くことが苦手である。というか大嫌いである!(力説)。
理由は簡単で、ただでさえVBAでセルに数式を挿入するのは煩わしいのに、"(ダブルクォーテーション)だらけで余計煩わしい、というか訳分かんなくなるから(TT)。
今日もお仕事で"(ダブルクォーテーション)を用いた数式を書くことになり、正直発狂しそうになっていたのですが(笑)、
さっき簡単な数式を書くマクロを作ってみて、ようやく、本当にようやくですが「何となく」理解できた、ような気がします(^^;。…それでも煩わしいのは変わらないわけですがorz。
例えば↓のような数式。①は普通にEXCELのワークシート上のセルの中に手作業で埋めるif関数混じりの数式。
…ちょっと関数をかじったことがある人なら全然何てことはない数式ですわな。で、その数式をマクロによる自動化で同じように埋めようとすると、例えば②のようになる。
…たぶん慣れた人だったらもう少し簡単に、分かりやすく書けそうな気もするけどorz。今の眠たい目をこすっているわたしには(笑)、正直これが精一杯…。
例:セルc1に↓の数式を埋めると仮定
①
=IF($A$1="","",$B$1)
②
Sub Formulatest()
Dim BaseCell As Range
Set BaseCell = Range("a1")
BaseCell.Offset(0, 2).Formula = "=if(" & BaseCell.Address & "=" & """""" & "," & """""" & "," & BaseCell.Offset(0, 1).Address & ")"
End Sub
理由は簡単で、ただでさえVBAでセルに数式を挿入するのは煩わしいのに、"(ダブルクォーテーション)だらけで余計煩わしい、というか訳分かんなくなるから(TT)。
今日もお仕事で"(ダブルクォーテーション)を用いた数式を書くことになり、正直発狂しそうになっていたのですが(笑)、
さっき簡単な数式を書くマクロを作ってみて、ようやく、本当にようやくですが「何となく」理解できた、ような気がします(^^;。…それでも煩わしいのは変わらないわけですがorz。
例えば↓のような数式。①は普通にEXCELのワークシート上のセルの中に手作業で埋めるif関数混じりの数式。
…ちょっと関数をかじったことがある人なら全然何てことはない数式ですわな。で、その数式をマクロによる自動化で同じように埋めようとすると、例えば②のようになる。
…たぶん慣れた人だったらもう少し簡単に、分かりやすく書けそうな気もするけどorz。今の眠たい目をこすっているわたしには(笑)、正直これが精一杯…。
例:セルc1に↓の数式を埋めると仮定
①
=IF($A$1="","",$B$1)
②
Sub Formulatest()
Dim BaseCell As Range
Set BaseCell = Range("a1")
BaseCell.Offset(0, 2).Formula = "=if(" & BaseCell.Address & "=" & """""" & "," & """""" & "," & BaseCell.Offset(0, 1).Address & ")"
End Sub