簡體   English   中英

根據范圍變量分配單元格值

[英]Assign cell values based on Range variable

我目前有一些代碼可以復制多個范圍內的值,並將這些值粘貼到其他范圍內。 該項目的范圍不斷變化,因此每次添加行或列時,都需要在我的VBA代碼中更改范圍。 我試圖通過創建全局范圍變量來存儲范圍位置來簡化此過程,並讓我的復制/粘貼代碼引用這些變量。

Public test As Range
Public def1 As Range

Public Sub initializeGlobalVars()

'Assign values to the global variables

Set def1 = Sheets("Defaults").Range("B10:D14")

Set test = Sheets("Defaults").Range("B32:D36")
test = def1

End Sub

我知道我在這里缺少某些行或處理方式不正確,但是我希望能夠通過引用變量“ test”而不是單元格位置來更改變量“ test”中實際單元格的值,因為它一直在變化。 這可能嗎?

感謝您的幫助!

由於Range接受字符串變量,因此您可以執行以下操作:

Dim strRangeToUse as String
strRangeToUse = "B10:D14"

Set test = Sheets("Defaults").Range(strRangeToUse)

然后,如果要為測試范圍設置另一個范圍( strRangeToFill ),則可以執行以下操作:

Sheets("Defaults").Range(strRangeToFill).Value = test.Value

您可以使用TABLES或NAMED RANGES

1-表有一個名字,可以用來確定誰是動態的范圍! 這樣,您可以使用ActiveSheet.ListObjects(“ table”)。range()

這是桌子

2-您可以創建一個命名范圍

這樣你就可以使用

Range("RAGEDNUMBERONE") 

遠程命名

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM