2016-07-27 102 views
0

我有一個用戶表單,它允許人們輸入一系列數據的日期範圍,然後這些數據將被用於命名其餘宏的輸出。我試圖複製第一張紙上的所有數值WWOutput,其中分析/計算所有數據並將其粘貼到名爲變量DateRange的新創建的紙張上,每次顯然都會更改。VBA - 複製紙張值,粘貼到變量名稱表

我目前正在此:

Worksheets.Add(Before:=Worksheets("Calc")).Name = DateRange.Value 
Worksheets("WWOutput").Range("A1:Q1000000").Copy 
Worksheets(DateRange).Range("A1").PasteSpecial Paste:=xlPasteValues 

將創建新表,在工作表被複制,但它不是複製到一個我想要的。如果我嘗試.Cells而不是.Range它會給我「類型不匹配」

我在做什麼錯了?

喬希

回答

1
Set ws = Worksheets.Add(Before:=Worksheets("Calc")) 
ws.Name = DateRange.Value 
Worksheets("WWOutput").Range("A1:Q1000000").Copy 
ws.Range("A1").PasteSpecial Paste:=xlPasteValues 

這應該爲你的工作需要。我將對象引用設置爲您添加的工作表(稱爲ws),然後將其名稱設置爲DateRange.Value。在這一點上,足夠簡單的指定粘貼時需要的工作表。通過這種方式,您可以在使用該參考時以多種方式使用該參考。讓我知道你是否需要進一步解釋?

+0

像魅力一樣工作,謝謝! –

1

你缺少.Value

Worksheets(DateRange.Value).Range("A1").PasteSpecial Paste:=xlPasteValues