Excel VBA脚本添加撇号速度慢

时间:2017-02-21 16:28:40

标签: excel vba excel-vba

我有一个VBA脚本,我用它来向单元格添加撇号,但我目前有200000行要检查,它似乎需要相当长的时间。我使用的代码如下:

    Sheets("Sheet1").Select
    myrange = "c21:c200000"
    For Each cell In ActiveSheet.Range(myrange)
    If cell.Value <> "" Then cell.Value = "'" & cell.Value 
    Next

有关如何使代码运行得更快的任何想法,或者您是否知道其他可以更好地运行的代码?

1 个答案:

答案 0 :(得分:0)

我不明白你想用单引号实现什么,但一般来说,你可以通过限制范围填写所有空单元格并立即写入所有单元格:

Const DefaultString = "'"
Dim ws As Worksheet, r As Range
Set ws = ThisWorkbook.Sheets(1)

Set r = ws.Range("A1:A200000")
' Fill last cell to ensure that SpecialCells looks to complete range
If r.Cells(r.Rows.Count, 1) = "" Then r.Cells(r.Rows.Count, 1) = DefaultString
Set r = r.SpecialCells(xlCellTypeBlanks)
r.Value2 = DefaultString