小编rah*_*s76的帖子

如何加快VBA代码

我有一个带有VBA代码的excel文件(不是我写的)该代码的工作原理是,用户在用户表单中输入6位数字,然后VBA检查另一张纸,并且工作表上是否存在这6位数字。如果是这样,它将更改阶段,但如果没有,则将该6位数字添加到工作表中

它曾经可以正常工作,但是现在由于excel文件的行数增加了,几乎增加了6000行,因此此代码变得非常慢,最多需要20秒来更新工作表

有人可以帮我加快这段代码的速度,还是建议另一种方法来实现它

代码如下

Private Sub cmdPSDUdate_Click()
Dim x
If (Me.PSDUDateRow = "") + (Me.PSDStageCB.ListIndex = -1) Then Exit Sub
With Sheets("psdata stage cals").ListObjects("PSDataStageCals")
    x = Application.Match(Val(Me.PSDUDateRow), .ListColumns(1).DataBodyRange, 0)
    If IsNumeric(x) Then
        .ListRows(x).Range(2) = Me.PSDStageCB.Value
    Else
        .ListRows.Add.Range = Array(Val(Me.PSDUDateRow), Me.PSDStageCB)
    End If
End With
Me.PSDUDateRow.Value = ""
Me.PSDStageCB.Value = ""
Me.PSDUDateRow.SetFocus
End Sub
Run Code Online (Sandbox Code Playgroud)

提前致谢

拉胡尔

excel vba excel-vba

4
推荐指数
3
解决办法
1万
查看次数

标签 统计

excel ×1

excel-vba ×1

vba ×1