如果整行中没有单元格是数字,则删除行

时间:2017-12-20 10:15:04

标签: vba

我正在寻找一种删除行的方法,如果它只包含文本/空白单元格。 我有一个工作表,其中包含各种列中的产品代码(字母数字),描述(文本)和数量(数字)(工作表之间不一致)。我试图找到一种方法来删除没有产品数量的行,因为他们不需要输入系统。我不确定如何处理这个问题,我对vba还是一个新手

Dim nums As Boolean
  For Each myRow In Range("A1:P200")
    nums = True
    For Each myCell In myRow
      If IsNumeric = False Then
        Set nums = False
        If nums = False Then
          Rows.EntireRow.Delete

我的尝试到目前为止,它不喜欢if语句。另外,我需要保留带有数字单元格和许多空白单元格的行,这不会删除任何带有一些空白单元格的行吗?

1 个答案:

答案 0 :(得分:0)

以下是如何开始:

  • 声明一个布尔值
  • 为每个循环制作一个这样的:
For each myRow in Range("A1:Z100").Rows
  • 将布尔值设置为True
  • 制作一个像这样的新循环:
For each myCell in myRow
  • 检查每个单元格是否为Numeric。如果不是,请将布尔值设置为False
  • 如果布尔值为True
  • 在内循环的末尾删除该行。