簡體   English   中英

在不同范圍內循環VBA

[英]Loop in different ranges VBA

下面的代碼很好用,但需要進行現代化。 此代碼用於一個表,直到表末尾都有效。 但是我在實際(存在)表的同一頁下添加了加法表。 我需要跳過3個空單元格(循環)並為下面的下表啟動代碼。 換句話說,要找到下面的表格並在那里執行代碼。 如何實現(實現)?

Sub Test()
Dim score1 As Double, score2 As Double, score3 As Double, result As String, text As String

Dim ifrom As Long, ito As Long
Dim i As Long

ifrom = 2
ito = Range("E2").End(xlDown).Row ' find the row above the 1st blank cell in column E

name1 = "A"       
name2 = "B"    
audit = "C"      
currenc = "Dollars"       


For i = ifrom To ito

    text = Range("E" & i).Value
    score1 = Int(Range("B" & i).Value)
    score2 = Int(Range("C" & i).Value)
    score3 = Int(Abs(Range("D" & i).Value))


If score1 = 0 And score2 = 0 Then
    result = text + ......

ElseIf score1 = score2 Then
    result = text +........

ElseIf score1 > score2 And score2 <> 0 Then
    result = text + ............

ElseIf score1 < score2 And score1 <> 0 Then
    result = text +......

Else
    result = text + " 00000000"

End If

Range("H" & i).Value = result
Next i
End Sub

嘗試這個:

Sub Test()

    '... Define your variables ....

    Dim LastRow As Long
    LastRow = Range("E" & Rows.Count).End(xlUp).Row

    name1 = "A"
    name2 = "B"
    audit = "C"
    currenc = "Dollars"

    ifrom = 2
    Do
        ito = Range("E" & ifrom).End(xlDown).Row ' find the row above the 1st blank cell in column E

        For i = ifrom To ito
            '... Your code comes here ...
        Next i
        ifrom = Range("E" & ifrom).End(xlDown).Row ' find top of next table, if no table return last row of worksheet
    Loop While ifrom < LastRow
End Sub

另外,由於您的公式僅與同一行相關,因此您可以嘗試以下更簡單的方法:

Sub Test()
    Dim score1 As Double, score2 As Double, score3 As Double, result As String, text As String

    Dim ifrom As Long, ito As Long
    Dim i As Long

    ifrom = 2
    ito = Range("E" & Rows.Count).End(xlUp).Row 'This row changed

    name1 = "A"
    name2 = "B"
    audit = "C"
    currenc = "Dollars"

    For i = ifrom To ito
        If Range("E" & i).Value <> "" Then
            '.... Your code goes here
        End If
    Next i
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM