2016-11-07 4 views
-1

Ich bin auf der Suche nach der Offset-Funktion in meinem VBA-Code, ich habe derzeit den Offset im Namen Manager Abschnitt einer separaten Tabelle, aber möchte es in den Code aufnehmen. Was ich gerne in den Code integrieren würde, ist als Kommentar enthalten. Bitte könnte jemand damit helfen?Erstellen eines Offset-Dynamikbereich mit 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) 

Antwort

2

Da der WorsheetFunction Offset einen gültigen Bereich zurückgibt; Sie können einfach die Formel in der Worksheet.Range verwenden oder Sie könnten einfach den definierten Namen innerhalb der Worksheet.Range verwenden.

Ihr Code sieht richtig aus. Sie sollten die Formel testen, um sicherzustellen, dass sie den Bereich auswählt.

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

Perfect, danke :) –

+1

Dank für meine Antwort zu akzeptieren !. Glückliche Kodierung! –

Verwandte Themen