|
>2点ほど教えて頂きたいのですが
>(" & .Address(, , , True) & ") について
>
>1、(" & & ") は何故必要なのでしょうか?
何故がどこに掛かっているのかはっきりわかりませんが・・・。
まず、Evaluateについて、Helpを調べてみてください。
私なりの解釈は、過去ログ
hxxp://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=8117;id=excel
に記述してあります。
↑でも記述しましたが、
Evaluate −−−−> 指定された文字列式を評価した結果を返します
と解釈すると、
Evaluate(・・・・)の()内は、文字列式を指定する事になります。
Evaluateを使うと セルに入力する関数や数式も評価してくれます。
その文字列式を組み立てるために
文字列の連結には、「&」を使います(疑問はこれですか?)。
新規ブックの標準モジュールに
Sub main()
With Range("a1")
.Value = String(10, "あ")
MsgBox "lenb(" & .Address(, , , True) & ")" & vbCrLf & "↑この数式をEvaluateで評価します"
MsgBox "Evaluate(""lenb(" & .Address(, , , True) & ")"") = " & Evaluate("lenb(" & .Address(, , , True) & ")")
End With
End Sub
これを実行して再度、検討してみてください。
>2、(, , , True) はどのような意味でしょうか
Helpには、Trueを指定すると外部参照、False(省略)でローカル参照を返す
と書いてあります。
まっ、実際にTrueがあるときとないときのAddressプロパティを比較してみれば
一目瞭然かと思います。
新規ブックの標準モジュールに
'====================================
Sub test()
With Range("a1")
MsgBox "Address = " & .Address & vbCrLf & _
"Address(,,,true) = " & .Address(, , , True)
End With
End Sub
これを実行して結果を比べてください。
それから、Helpを見て調べられるようにしましょう!!
これができないとVBAの習得はかなり大変ですよ!!
|
|