从范围中删除所有不包含值的行

时间:2014-04-10 16:27:30

标签: excel vba excel-vba

工作表“数据”在列O中有3000多行,包含100多个客户。假设“客户”A1到A26是:

a
b
c
d
e
...
z

除了a到z之外,代码除了除了z以外的所有代码。我需要从“客户”表单的A列中未列出的“数据”中删除所有客户。我哪里错了?将“dontDelete”更改为以下结果会产生相同的结果。 26可以代替14,7等,然后该行的值成为剩下的唯一值。

dontDelete = Array(Range("Customers!A1:A26")

我尝试将sub粘贴到此处,但尽管预览看起来正确,但它仍然给我一个格式化错误。

1 个答案:

答案 0 :(得分:0)

如果没有您的确切子,很难看到您需要更改以纠正此问题。但是,如果您静态分配数组的大小,就像这样

Dim dontDelete(26) As String

您实际上将数组定义为dontDelete(0,1,2 ... 24,25,26)。然后,如果你的循环经历了26次迭代,它将始终以25而不是26结束。

我建议首先声明你的数组

Dim dontDelete(1 to 26) as String

再次尝试查看是否可以解决问题。