【发布时间】:2020-05-30 08:13:12
【问题描述】:
我从 2005 年开始继承了旧的 Excel (.xls) 电子表格。
由于某种原因,电子表格将名称管理器用于存储为字符串的大量数据,而不是引用包含数据的表。这就是我要更改的内容,因此更改当前存储在名称管理器中的数据会更容易(目前无法更改任何数据,因为名称管理器中的字符限制已被超出) .
我想尽可能多地使用当前的 VBA 代码,这就是为什么我目前有一个设置,我使用 VBA 将电子表格中的数据转换为
形式的字符串"CELL"\"CELL"\"...""CELL";"CELL"\"CELL"\"CELL";
我(或旧代码)使用反斜杠 \ 作为新列的分隔符和分号 ; 作为新行的分隔符。
我想将我的字符串转换为一个名为“arkArray”的二维数组,这样我就可以使用以下代码:
arkCellData = arkArray(i, j)
最好的方法是什么?
【问题讨论】:
-
Split可能有用。 -
这些字符串要多长时间?超过 255 个字符?另外,这些字符串中会有逗号吗?
-
它们最长超过 15,000 个字符(我必须执行以下操作才能看到整个字符串 =“名称管理器中的引用”-> 在电子表格中插入整个字符串 -> 将单元格数据复制到.txt 文件 -> 删除标签 -> 计算字符数
-
IMO,我不会在这里“修补”旧 VBA,而是重写以正确执行操作...参考工作表中的数据 - 您可以使用一行代码将范围的值读入二维数组.名称管理器 > 字符串 > 2D 数组似乎是不好的做法。
-
@BigBen,这似乎是一种更好的做法,你介意向我解释一下我如何只用一行代码就可以做到吗? (这很可能会导致我重写很多代码,但我也不喜欢当前的设置)