如何使excel vba运行几个工作表

时间:2014-01-15 14:13:34

标签: excel vba excel-vba

我有一个从Excel到Excel的信息,我想要做的是搜索从点a到点b以及从点b到点a的距离和时间。然后我想插入这个比较之间较小的值。

我实际上有一个代码工作,但它只能搜索一个工作表。我有4个工作表的数据,我需要确保每个条目搜索4个工作表。代码如下;

Sub CorrectTable()

    Sheet1.Columns(4).Cells.ClearContents

    For i = 1 To Sheet1.UsedRange.Rows.Count

        Dim o_d, o, d As String

            o_d = Sheet1.Cells(i, 1).Value

            o = getO(o_d)

            d = getD(o_d)

        If Not (o = "") And Not (d = "") Then

            Dim d_o As String

                d_0 = d & "." & o

            Dim od_time, od_dist As Double

                od_time = Sheet1.Cells(i, 2).Value

                od_dist = Sheet1.Cells(i, 3).Value

            For j = i + 1 To Sheet1.UsedRange.Rows.Count

                If Sheet1.Cells(j, 1).Value = d_0 Then

                    Dim do_time, do_dist As Double

                        do_time = Sheet1.Cells(j, 2).Value

                        do_dist = Sheet1.Cells(j, 3).Value

                    If od_time <= do_time Then

                        Sheet1.Cells(j, 4).Value = i

                    ElseIf do_time <= od_time Then

                        Sheet1.Cells(i, 4).Value = j

                    End If

                End If

            Next j

        End If

    Next i

End Sub

那么如何让这段代码在4个工作表中搜索并找到相应的条目呢?

谢谢

1 个答案:

答案 0 :(得分:0)

放在j循环中:

maxsheetlen=65000
If j > maxsheetlen Then
    Sheets(2).Cells(j-maxsheetlen, 4) = i
Else
    Sheets(1).Cells(j,4) = i
End if
    'do for "ElseIf do_time <= od_time Then" option