相关疑难解决方法(0)

如何避免在Excel VBA中使用Select

我听说过很多关于.Select在Excel VBA 中使用的可理解的憎恶,但我不确定如何避免使用它.我发现如果我能够使用变量而不是Select函数,我的代码将更加可重用.但是,ActiveCell如果不使用,我不确定如何引用事物(如等)Select.

我发现这篇关于范围的文章这个例子关于不使用select的好处却找不到怎么样的东西?

excel vba

511
推荐指数
15
解决办法
26万
查看次数

如何在不逐个单元循环的情况下使用VBA忽略范围内的绿色三角形误差?

我有一些大型数据集,我正在自动化和分发.我想消除那些警告用户关于存储为文本的数字的小绿色三角形.我使用了以下代码但是在大量工作表上它非常慢.

     Range(Cells(1, 1), Cells(lastrow, lColumn)).Select
     'kill those dang green cell triagles
     Dim rngCell As Range, bError As Byte
         For Each rngCell In Selection.Cells

             For bError = 3 To 3 Step 1

                 With rngCell
                     If .Errors(bError).Value Then
                         .Errors(bError).Ignore = True
                     End If
                 End With
             Next bError
         Next rngCell
Run Code Online (Sandbox Code Playgroud)

正如你所看到的那样,我已经把它减少到1/7的时间,没有循环遍历我想要阻止的每个错误,但它仍然非常慢.

我也已经知道了

     Application.ErrorCheckingOptions.NumberAsText = False
Run Code Online (Sandbox Code Playgroud)

但我不想使用它,因为我不想更改用户系统设置.我想要循环的效果而不循环遍历所有单元格.我可以告诉Excel如何在不逐个单元循环的情况下停止检查整个范围吗?

任何有效和快速的方法都会非常有帮助.先感谢您!!

excel vba error-checking

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

标签 统计

excel ×2

vba ×2

error-checking ×1