2017-11-08 21 views
2

新しいコレクションに値の範囲を取得しようとしています。範囲は固定され、空のセルはスキップされると考えられ、コンテンツにはコレクションに追加されます。しかし、私はVBAコレクション - 静的範囲からコレクションに値を読み込む

がライン上で

"ISINsLX0358 = ThisWorkbook.Sheets("Splits_Vormonat").Range("B3:BK3")" 

は、誰かがなぜこれが起こっている私に言うと、私を助けることができる「変数またはWithブロック変数が設定されていないオブジェクト」というエラーが出ます私のコードを改善する?

Dim collLX0358 As New Collection 
Dim ISINsLX0358 As Range 

Set collLX0358 = Nothing 

ISINsLX0358 = ThisWorkbook.Sheets("Splits_Vormonat").Range("B3:BK3") 

For Each isin In ISINsLX0358 
    If isin <> "" Then 
     coll.Add isin 
    End If 
Next isin 

答えて

0

出来上がり:

Option Explicit 

Public Sub TestMe() 

    'Dim collLX0358 As New Collection - you are not using it, -> you do not need it. 
    Dim ISINsLX0358 As Range 

    Dim isin  As Range 
    Dim coll  As New Collection 
    'Set collLX0358 = Nothing - WHY? 

    Set ISINsLX0358 = ThisWorkbook.Sheets(1).Range("B3:BK3") 

    For Each isin In ISINsLX0358 
     If isin <> "" Then 
      coll.Add isin 
     End If 
    Next isin 

End Sub 

  • スタートSet colLX0358 = Nothingのアイデアは何Option Explicit
  • を使用。あなたがそれを使用していない限り、コードから削除してください。
  • Rangeは、VBAでオブジェクトであり、それは言葉Set
+1

迅速な回答に感謝して使用する必要があります!魅力のように動作します! – s00zie

+0

@ s00zie - ようこそ! :) – Vityata

関連する問題