VBA触发器输入或更新查找值

Ele*_*len 5 excel vba loops excel-vba

我有以下代码:

Sub PrintToCSV()
    Dim i As Long, e As Long
    i = Worksheets("STATEMENT (2)").Range("$G$6").Value
    e = Worksheets("STATEMENT (2)").Range("$G$7").Value

    Do While i <= e
        Range("K6") = i
        Application.Wait (Now + #12:00:01 AM#)

        If Range("$X$10").Value > 0 Then
            Cells(1, 1).Value = i
        End If

        i = i + 1
    Loop
End Sub
Run Code Online (Sandbox Code Playgroud)

它循环并按Range("K6")预期更改值.但是,Range("K6")当我手动执行时,更新其他单元格值(vlookup)的值,但不使用此代码.如何Range("K6")通过此代码确保其他单元格的值取决于更改?

Vit*_*ata 7

仅供参考 - 不要声明如下:

Dim i,e as long
Run Code Online (Sandbox Code Playgroud)

因为对于这个声明,只有"e"被声明为long而"i"被声明为变体.这可能会在以后某处引起问题.在此输入图像描述

正确的方法是:

Dim i as long
Dim e as long
Run Code Online (Sandbox Code Playgroud)


Ele*_*len 6

问题在于类型不匹配.Range("K6")value是一个长整数,而lookup表将帐号存储为文本.将文本转换为数字解决了问题.