识别范围内的缺失数据

TK

我正在寻找设置一个 VBA 宏,它会自动遍历列中的数据列表并挑选出缺失的值。我现在得到的代码(见下文)有效,但我相信它开始在单元格 A2 中查找。我希望它从 B1 开始。

我怎么能做出这种改变?

抱歉,我是 VBA 的初学者!

Sub Check_Sequential()

Dim LR As Long, i As Long

LR = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
ALR = ActiveSheet.Range("C" & Rows.Count).End(xlUp).Row + 1
x = 2
Cells(1, 3) = "Missing Numbers"
For i = 2 To LR
0
    If Cells(i, 1) <> x Then
        Cells(ALR, 3) = x
        ALR = ActiveSheet.Range("C" & Rows.Count).End(xlUp).Row + 1
        x = x + 1
    Else
        x = x + 1
    End If

    If Cells(i, 1) > x Then GoTo 0

    If Cells(i, 1) = x Then
        x = x + 1
    End If
Next i
MsgBox "Done"

End Sub
用户2502611

为了将搜索开始范围的单元格 A2 移动到 B1,您需要对代码进行以下更改。这只是解决您定义初始搜索的区域:

Sub Check_Sequential()

Dim LR As Long, i As Long

LR = ActiveSheet.Range("B" & Rows.Count).End(xlUp).Row '// Changed from "A" to "B"
ALR = ActiveSheet.Range("C" & Rows.Count).End(xlUp).Row + 1
x = 2
Cells(1, 3) = "Missing Numbers"
For i = 1 To LR '// Chaged i to one to start at row 1 instead of 2
0
    If Cells(i, 2) <> x Then '// Changed from i,1 to i,2
        Cells(ALR, 3) = x
        ALR = ActiveSheet.Range("C" & Rows.Count).End(xlUp).Row + 1
        x = x + 1
    Else
        x = x + 1
    End If

    If Cells(i, 2) > x Then GoTo 0 '// Changed from i,1 to i,2

    If Cells(i, 2) = x Then '// Changed from i,1 to i,2
        x = x + 1
    End If
Next i
MsgBox "Done"

End Sub

这应该允许您的代码工作,尽管正如其他一些人指出的那样,您可以研究一些事情来进一步发展您的 VBA 技能:

  • 使用类型声明所有变量,这将使您的代码更具可读性并阻止它们默认为变体(例如ALR
  • 避免使用 0 作为行名,因为“ On Error GoTo 0”是您恢复默认错误处理的方式,这可能会产生误导
  • 使用 " .value" 属性编辑单元格值更清晰,在这种情况下它的工作方式完全相同
  • 在编写之前清除输出列可能是值得的,因为此代码会将输出堆叠在旧输出之上,但不确定这是否是有意的。

虽然这不是一段糟糕的代码,但特别考虑你将自己归类为初学者。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Scala查找范围内的缺失值

来自分类Dev

查找给定范围内的缺失值

来自分类Dev

在预设范围内查找缺失的数字

来自分类Dev

比较两个数据框以查找范围内的缺失值

来自分类Dev

如何在 MySQL 数据库中的给定范围内找到缺失的时间值?

来自分类Dev

识别特定范围内的值数

来自分类Dev

范围内无法识别的功能

来自分类Dev

按汇总分组以查找范围内的缺失值

来自分类Dev

如何用Pandas填写范围内的缺失值?

来自分类Dev

计算日期范围内的缺失日期序列

来自分类Dev

填写表格中日期范围内的缺失日期

来自分类Dev

如何按组填写范围内的缺失日期

来自分类Dev

如何压缩范围内的数据帧?

来自分类Dev

显示天数范围内的数据

来自分类Dev

如何读取命名范围内的数据?

来自分类Dev

如何读取命名范围内的数据?

来自分类Dev

SQL:获取范围内的数据

来自分类Dev

VBA关于范围内的数据

来自分类Dev

如何压缩范围内的数据帧?

来自分类Dev

从perl范围内获取数据匹配

来自分类Dev

将数据分组到范围内

来自分类Dev

数据构造函数不在范围内

来自分类Dev

熊猫:识别范围内某个值的重叠成员

来自分类Dev

识别范围内的唯一/不同值

来自分类Dev

Haskell:数据/类型构造函数不在范围内,但数据构造函数在范围内

来自分类Dev

sql查询以检查给定范围内的数据和给定范围内的数据

来自分类Dev

日期范围为文本的日期范围内的数据总和

来自分类Dev

在数据体范围内创建范围

来自分类Dev

查询也在另一个范围内的一个范围内的数据