[英]How to copy the values within a dynamic named range?
我正在工作中進行浪費計算,並且有幾個動態命名范圍,它們的單元格都包含通過公式得出的值。 我需要一個模塊,該模塊將動態命名范圍內的值復制到另一張紙上,而無需復制公式本身,而只是復制單元格包含的值。 我試圖用這個:
Sub Sample()
Dim wsI As Worksheet, wsO As Worksheet
Set wsI = ThisWorkbook.Sheets("Sheet1")
Set wsO = ThisWorkbook.Sheets("Sheet1")
wsI.Range("Pct_waste").Copy wsO.Range("B4")
End Sub
但這會復制公式,沒有用。 而且我不能只使用絕對引用,因為我需要能夠快速添加新數據。 最終,我打算創建一個宏,該宏將動態命名范圍內的值復制到新的工作表中,然后對這些值進行數字排序並將其繪制在散點圖上。 因此,我需要找到一種方法來復制動態命名范圍中的所有值,而無需復制公式本身。
另外,關於VBA,我還是新手,所以輕松一點!
使用.Resize()
方法:
Set wsI = ThisWorkbook.Sheets("Sheet1")
Set wsO = ThisWorkbook.Sheets("Sheet1")
With wsI.Range("Pct_waste")
wsO.Range("B4").Resize(.Rows.Count, .Columns.Count).Value = .Value
End With
嘗試僅粘貼值:
Sub Sample()
Dim wsI As Worksheet, wsO As Worksheet
Set wsI = ThisWorkbook.Sheets("Sheet1")
Set wsO = ThisWorkbook.Sheets("Sheet1")
wsI.Range("Pct_waste").Copy
wsO.Range("B4").PasteSpecial xlPasteValues
End Sub
或類似的東西
Sub test()
Dim r As Excel.Range
Dim i As Integer
Set r = Range("test_range")
For i = 1 To r.Cells.Count
Range("x" & i).Value = r.Cells(i, 1).Value
Next i
End Sub
或者您可以像這樣在工作表中執行以下靜態公式,例如= index(range_name,rows($ A $ 1:$ A1),1)並填寫下來,還可以使用IFERRROR捕獲錯誤,但這將是靜態的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.