現在、Excel で動的な名前付き範囲を取り込んで 2D 配列に変換するメソッドがあります。
データに対していくつかの反復を行い、特定の列に値が含まれている場合は削除機能を実行する必要があります。転置と一時配列を使用して 2 次元配列の行を削除するためのオプションを調べました。データがかなり大きいため、行全体を簡単に削除できる他のデータ構造を調べています。
動的な名前付き範囲を vba のコレクションに変換したいと考えています。このコレクションには行番号のキーがあり、項目としてその行のすべてのデータが必要です。基本的には、2D 配列でできるようにその範囲内の各値を反復処理する機能が必要ですが、行を効率的に削除し、2D 配列を使用するより手間がかからない機能も必要です。
どうすればこれを達成できるかについて誰にも考えがありますか?
Dim srcArray () As Variant
Dim srcRange As Range
srcRange = ThisWorkbook.Worksheets("Main").Range("myNamedRange")
srcArray = srcRange.Value
Dim rowNr As Long
dim colNr As Long
for rowNr = 1 to UBound(srcArray,1)
if srcArray(rowNr, 9) = "testString" Then Call DeleteRowSub(srcArray, rowNr)
Next rowNr
DeleteRowSub は、その行のインデックスに基づいて特定の行を削除するサブになります。私はそれから離れて、インデックスが行番号である srcCollection.Remove(index) のようなことを言うことができるようにしたい.
どんな助けでも大歓迎です。