Item
、Cells
、およびCount
性質がどのように動作するかを決定エクセルRange
クラス(だけでなく、他のクラスのメソッドとプロパティ、最も可能性が高い)のために文書化されていない属性があるようです。Excelの範囲の処分は
普通Range
は "セル"の処理をしているようです。すなわちそれらの特性にアクセスすることは、セルインデックスをとる。
Set x = [A1:H50]
?TypeName(x)
Range
?x.Address
$A$1:$H$50
?x.Count
400
?x(20).Address
$D$3
しかし、あなたはまた異なった動作をRange
を-dispositioned「列」または「行」を、取得することができます。
Set x = [A1:H50].Columns
?TypeName(x)
Range
?x.Address
$A$1:$H$50
?x.Count
8
?x(20).Address
$T$1:$T$50
私は、マルチArea
範囲のためのビルトインタイプよりも優れて動作しますRange
のラッパークラスを記述しようとしています。私はこの範囲 "処分"がどのように機能するかをよりよく理解したいと思っています。組み込みのプロパティがありますか、それとも他の方法で簡単にオブジェクトの "処理"をテストできますか? 「配置」は範囲の不変なプロパティですか、「行」、「列」または「セル」プロパティを使用して新しい範囲を取得せずに変更する方法がありますか?
を次のように "MyRange" クラスのことを悪用 'レンジ( "A1:B2、C3:D5")のような範囲'。このような範囲を扱うためにコードを拡張することもできますが、@ Tmdeanが探している "本当の"方法は、新しいクラスのクラスだと思います。 – user3598756
すべてのラッパーを配置する必要があります。オリエンテーション。下のクラスのインジケータはどこにありますか?例えば。列数ではなく、[A1:A100] .Rowsのように範囲が定義されている場合、Rng.Countは行数を返します。 –
RangeオブジェクトのAreasプロパティを直接ループして適切にループする必要はないので、インジケータプロパティはありません。 ColumnsCountプロパティは単なる例でした。同様のRowsCountを簡単に追加することで、行の数を正しくカウントすることができます。 – user3598756