arrays - 传递给范围的字符串形式的单元格引用
问题描述
我有名为 rngsx1 ... rngy2 的字典,包括单元格范围引用。这些单元格引用被传递到 rangex1 ... rangey2。因为 Array 参数仅采用 Array("A1:B2") 的形式,因此我需要使用代表引号 (") 的 Chr(34) 传递它们。我为字典中的多个数据字符串制作了 for 循环。我想要将它们的所有第一个元素相互匹配,所有第二个元素相互匹配等等。对于第一次试验,我只使用了字典中的一个元素,我想在定义的范围内打印它们的值。但是子例程没有不能按我的意愿工作。你能帮我解决这个问题吗?
Sub CellReferenceToRange()
Dim rngx1, rngx2, rngy1, rngy2 As Range
Dim rangesx1, rangesx2, rangesy1, rangesy2 As Variant
' The Values at C15:C28 are assigned to rangesx1, rangesx2, rangesy1, rangesy2
rangesx1 = Array("C15:C28")
rangesy1 = Array("C15:C28")
rangesx2 = Array("C15:C28")
rangesy2 = Array("C15:C28")
' The Values at assigned ranges are set to rngx1, rngx2, rngy1, rngy2
For Each item in rangesx1, rangesx2, rangesy1, rangesy2
Set rngx1 = Range(Chr(34) & rangesx1 & Chr(34)) ' Chr(34) & rangesx1 & Chr(34) ---> "C15:C28"
Set rngy1 = Range(Chr(34) & rangesy1 & Chr(34)) ' Chr(34) & rangesx1 & Chr(34) ---> "C15:C28"
Set rngx2 = Range(Chr(34) & rangesx2 & Chr(34)) ' Chr(34) & rangesx1 & Chr(34) ---> "C15:C28"
Set rngy2 = Range(Chr(34) & rangesy2 & Chr(34)) ' Chr(34) & rangesx1 & Chr(34) ---> "C15:C28"
' The Set Ranges are printed to the defined cell area.
Range("AD21:AG34") = rngx1 & rngx2 & rngy1 & rngy2
Next
End Sub
当我运行代码时,我得到一个运行时错误 13“类型不匹配”,它在线上:
Set rngx1 = Range(Chr(34) & rangesx1 & Chr(34)) ' Chr(34) & rangesx1 & Chr(34) ---> "C15:C28"
解决方案
Fristrangesx1 = Array("C15:C28")
不必是数组而是字符串。
Dim rangesx1 As String
rangesx1 = "C15:C28"
你不需要Chr(34)
,因为rangesx1
已经是类型String
Set rngx1 = Range(rangesx1)
另请注意,Dim rngx1, rngx2, rngy1, rngy2 As Range
仅声明,rngy2 As Range
但所有其他Variant
默认情况下。您需要为每个变量指定一个类型:
Dim rngx1 As Range, rngx2 As Range, rngy1 As Range, rngy2 As Range
finallyFor Each item in rangesx1, rangesx2, rangesy1, rangesy2
不是那样工作的,实际上它不需要在这里循环。
也Range("AD21:AG34") = rngx1 & rngx2 & rngy1 & rngy2
无法工作,因为与范围的值rngx1
相同,Range("C15:C28").Value
因此范围的值是一个值数组,并且您不能将值数组与&
. 目前还不清楚您要在这里做什么。
推荐阅读
- javascript - 尝试将 JQuery UI 加载到 Spfx React 框架时未捕获(承诺)错误
- javascript - how passing ng-bind values in to a variable at asp.net core view?
- python - 我无法在 Visual Studio Code 中编写任何代码
- amazon-web-services - AWS IoT Greengrass v2 不会在我的树莓上创建 greengrass/v2/ 文件夹
- node.js - 聚合中的分页,也在猫鼬中使用了 $project
- azure - Azure/Python - 从存储中快速下载文件
- c++ - 连通图的邻接矩阵和邻接表
- python - 如何使用python中的BeautifulSoup包从网站中提取href内容
- javascript - 停止在 openlayers 中覆盖特征
- python - Numpy - 如何从 4 个输入图像构建新图像,选择最亮的像素(max(R+G+B))