2016-11-07 3 views
-1

私はVBAコードにオフセット機能を組み込むことを検討していますが、現在は別のスプレッドシートのネームマネージャセクションにオフセットがありますが、コードに統合したいものがコメントに含まれています。誰か助けてもらえますか?VBAを使用してオフセットダイナミックレンジを作成する

Sub Unmet_Projects() 

Dim x As Workbook 
Dim y As Workbook 

Set x = ThisWorkbook 
Set y = Workbooks.Open("C:\Users\turnbull\Documents\Global Unmet Demand\1-extract-Unmet projects.xls") 
y.Sheets("Sheet1").Range("Unmet_Projects").Copy 
x.Sheets("Unmet Projects").Range("L3").PasteSpecial xlValues 

End Sub 



'=OFFSET(Sheet1!$A$4,0,0,COUNT(Sheet1!$A:$A),79) 

答えて

2

WorsheetFunction Offsetは有効な範囲を返します。 Worksheet.Rangeの数式を使用するか、Worksheet.Rangeの中で定義された名前を使用することができます。

あなたのコードは正しく見えます。数式をテストして範囲を選択していることを確認する必要があります。

enter image description here

y.Sheets("Sheet1").Range("OFFSET(Sheet1!$A$4,0,0,COUNT(Sheet1!$A:$A),79)").Copy 

x.Sheets("Unmet Projects").Range("L3").PasteSpecial xlValues 
+0

パーフェクト、ありがとう:)私の答えを受け入れるための –

+1

感謝を!ハッピーコーディング! –

関連する問題