2016-09-16 5 views
1

私のExcelマクロでデータ検証リストの範囲を変更したいと思います。最初はC列全体が手動で選択されましたが、今はVBAで動的に変更したいと思います。startCell.End(xlDown)で範囲を設定

マイコード:

Dim startCell As Range, firstNonEmptyCell As Range 
Dim range1 As Range, rng As Range 

Set startCell = Worksheets("Sel").Range("C2") 
Set ws = ThisWorkbook.Worksheets("Sel") 

Set range1 = ws.Range("$C$2:startCell.End(xlDown).Address") 

上記ランタイムエラー1004アプリケーションまたはオブジェクト定義のエラー

残りのコードが動作しているがトリガされたラインであれば、私のハードコードstartCell.End(xlDown)。アドレスは$ C $ 18で、startCell.End(xlDown).Addressの戻り値として実際に検出されます。

この場合、このエラーの原因についてはわかりません。

答えて

0

は交換してください:

Set range1 = ws.Range("$C$2:startCell.End(xlDown).Address") 

で:

Set range1 = ws.Range("$C$2:" & startCell.End(xlDown).Address) 

他の問題がある可能性があります。

+0

ありがとうございました。この変更を加えたコードは現在機能しています! –

関連する問題