|
▼BON8021 さん ponponさん おはようございます。
>いまいち、Rangeという型をよく理解できていないところから
>始まっているのかもしれません。
>そもそも、Rangeという型宣言された変数には、何が入るのでしょうか。
>Rangeという型について、少々、教えて頂くと助かります。
Rangeで変数宣言すると、その変数に対してプロパティやメソッドを使用することができます。
つまり
Dim r as Range,r1 as Range,r2 as Range
とすると、
Range プロパティ
Range("A5").Value
Range("A5").Activate
Range("A5").ClearContents
Union(range1, range2)
のように
r.Value
r.Activate
r.ClearContents
Union(r1, r2)
のようにつかえます。
比較のために、
Dim I as integer
Dim r as Range
I=r.value
とすると、
I.Value
という使い方はできません。
ヘルプでRangeを検索すると説明が出てきます。
以下その一部です。
Range オブジェクト
セル、行、列、1 つ以上のセル範囲を含む選択範囲、または 3-D 範囲を表します。
使い方
Range オブジェクトを取得するプロパティ、およびメソッドを次に示します。
Range プロパティ
Range("A5").Value = _
Range("A5").Activate
Range("A5").ClearContents
Union メソッド
複数のセル範囲の集合を取得するには、
Union(range1, range2, ...)
Unionメソッド使用します。
>if文でTRUE判定された後、マッチングした値を代入するところまでは、
>良いのですが、その後、無限ループに入ったような動きをします。
>その文をコメント行にすると、正常終了します。
どのぶぶんか。そのコードを載せてもらうと、考えやすいのですが。
それから、改良したコードとdictionaryを利用したコードの2種類を別スレッドにアップしますので参考にしてください。
|
|