|
▼REIKO さん:
こんにちは。
>>>Range("A2", Cells(Rows.Count, 1).End(xlUp)).Offset(0, 1).Formula_
>>= "=If(LENB(A2)=4,A2&"" "",Value(A2))"
>> ↑ここに空白いれておけば・・・・
>>ちゃんと空白は入りますよ。
>
>「"" ""」のところに空白の入れてませんでした。
>空白を入れたら確かにちゃんとできました!
>ありがとうございます。
>
>でも、どうしてVBAで記述するときは「"" ""」このような
>記述をするのに、実際にB列に入力される式は
>
>=IF(LENB(A2)=4,A2&" ",VALUE(A2))
>
>のような式になっているのでしょうか??
>初心者なのでまったく理解できないのですが...。
これは、文法ですから、覚えるしかないですよ。
通常、文字列を変数に代入するとき、
dim a as string
a="abc"
というようにダブルコーテーションで囲みますよね!!
では、変数aに「"abc"」とダブルコーテーションも含めて代入したい場合、
a="""abc"""
というようにひとつのダブルコーテーションを表現するのにふたつの「""」を記述しなければなりません。
こういうきまりごとなんです。
又、そういう規則を決めないと文字として扱う「"」なのか、
文字列を囲い込む「"」なのか、VBAのプロセッサが理解できなかったと思います。
REIKOさんがVBAのプロセッサだったら、こんな規則がなくても違いが理解できますか?
|
|