【发布时间】:2021-09-01 11:56:07
【问题描述】:
我有一张包含要保存在字典中的数据的数组的工作表。每个数组之间的列空间是恒定的,并且表的大小相似。我在每个数组(单元格 J3 中的第一个)上都有名称,它们应该是键,数据应该是项。如何创建一个循环来保存所有数组并在所选范围为空时停止?
Sub Dictionary()
Dim dictionary() As Dictionary
Dim nCol As Integer, i As Integer
nCol = 13
Sheets("Sheet1").Activate
Range(Cells(27, 11), Cells(36, 21)).Activate
For i = 1 To nCol
' dictionary(i) = Selection.Value
Selection.Offset(RowOffset:=0, ColumnOffset:=nCol).Select
Next i
End Sub
谢谢
【问题讨论】:
-
"表格大小相似" 它们的大小是多少? “单元格 J3 中的第一个” 第二个和第三个在哪里,模式是什么?
-
当你说“我有一张带数组的工作表”时,你指的是什么?你知道什么是 VBA 数组吗?实际上,您指的是范围吗?字典必须有一个键和一个值。如果值应该是这些“数组”之一,您打算如何从字典中识别每个这样的数组?你不喜欢使用那个名字(从“J3”开始)吗?如果是这样,请更好地描述“数组”的含义及其大小。当然,要能够识别下一个名字,也是。如何获得第二个,第三个等等?我的意思是,基于什么逻辑?
-
@CDP1802 我的第一个范围是从 K27:U36 然后跳转到 13 的 nCol。与名称(键)相同
-
@FaneDuru 想要使用名称作为键。第一个从 J3 开始,然后跳到下一个 13 col。当下一个单元格为空时,循环必须停止。数组/范围的大小相似,并且彼此相邻放置。范围也必须向右跳 13 列。我希望这是有道理的
-
@CDP 所以第二个表名在 W3 中,数据是 X27:AH36(即 11 列,10 行)。正确吗?
标签: excel vba loops dictionary