【发布时间】:2021-02-25 13:16:57
【问题描述】:
我正在尝试寻找一种方法来搜索 Excel 电子表格列中的一系列单元格以查找任何空白单元格。 该列将包含“订购的数量”,如果它仍然是空白,那么它稍后会在不同的系统中引发错误。如果我现在可以检测到错误,我可以将该工作表标记为失败,以便可以手动处理或与客户一起查询。
我尝试了各种方法,但要么一直收到错误“从类型 'Object(,)' 转换为类型 'String' 无效”,否则它会忽略代码。
代码的第一位查找工作表中最后使用的行,因此以下代码仅从第 2 行第 8 列到第 8 列的最后使用行:
Dim rw As Integer = 1
Do Until xlNewWorkSheet.Cells(rw, 1).Value Is Nothing
rw += 1
Loop
Dim last As String = rw - 1
'Dim quantity As String
Dim xlRange As Excel.Range = Nothing
xlRange = xlNewWorkSheet.Range(xlNewWorkSheet.Cells(2, 8), xlNewWorkSheet.Cells(last, 8))
For Each qcell As Excel.Range In xlRange.Cells
If qcell.Value <> "" Then
MsgBox("Empty value found in quantity...exiting...")
End If
Next
With xlNewWorkSheet.Range("A1:Z100")
'quantity = (.Range(.Cells(2, 8), .Cells(last, 8)).Value)
'If quantity Is Nothing Then
'MsgBox("Empty value found in quantity...exiting...")
'Else
.Range(.Cells(2, 1), .Cells(last, 1)).Value = (Cust + "_" + dt2)
'End If
End With
理想情况下,我想对行和列进行进一步的错误检查以发现任何其他异常,例如,我有时会得到带有#REF 的电子表格!在其中删除这些行会很棒。
提前致谢。
【问题讨论】:
-
您可以使用
SpecialCellsproperty 作为范围来查找空单元格而无需循环,一次完成。 -
嗨达米安。我将如何在上面的代码中使用它?