【发布时间】:2017-05-04 21:07:20
【问题描述】:
我正在尝试生成一些 VBA 代码,该代码将在第 1 行的第一个单元格中查找包含列标题“新查询”的列。然后,它应该删除子字符串值 '' 存在于每个行中的所有行列的单元格。
这是我想出的:
Set rng = Rows("1:1").Find(what:="New query", after:=Cells(1, 1), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext)
With Intersect(Sheets("Sheet1")
.Columns(rng.EntireColumn.Address))
.Replace "''", "#N/A", xlPart
.SpecialCells(xlConstants, xlErrors).EntireRow.Delete
End With
【问题讨论】:
-
然后呢?怎么了?那是两个单独的单引号吗?
-
我在以 Intersect 开头的行出现编译语法错误...是的,它们是两个单独的单引号。它说参数不是可选的
-
您可能需要
With Intersect(Sheets("Sheet1").UsedRange, rng.EntireColumn)。如果您的单元格仅包含两个单引号,也可能会出现问题。这是从其他地方进口的吗? -
您好,不是从任何地方导入的。我进行了更改,现在得到 rng.EntireColumn =
-
您需要先检查是否找到了该值。你有没有单步执行你的代码?如果您可以选择,我不会使用单撇号,因为它们可能会被文本前缀混淆。