我在一定范围内粘贴了一些用户先前输入的值,并且为了正确设置高级过滤器,我必须更改其值(即设置过滤器的文本,以便像{{ 1}}变成范围内所有单元格的parameter
。
但是,当尝试直接使用<>*parameter*
进行操作时,VBA会遇到rng.Value = "<>*" & rng.Value & "*"
(不兼容的类型)。
我已经找到解决方法
Error 13
但是我想知道是否有可能以另一种方式实现而无需循环并使用Range's自己的方法和属性。请注意,我并不是要为范围内的所有单元格设置一个单一值,而是将每个不同的值连接到开头的For each cel in rng
cel.Value = "<>*" & cell.Value & "*"
Next cel
和结尾的<>*
。
答案 0 :(得分:0)
如Range.Value
docs和其他许多地方所述:
对于第一个区域包含多个单元格的范围,
Value
返回一个Variant
,其中包含二维数组中的值第一个范围的单个单元格。
您无法连接字符串和数组。因此,您需要循环。
注意-当您需要循环时,遍历数组而不是逐个单元将更快。