Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使excel vba在多个工作表上运行_Vba_Excel - Fatal编程技术网

如何使excel vba在多个工作表上运行

如何使excel vba在多个工作表上运行,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

我在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
子校正表()
表1.列(4).单元格.ClearContents
对于i=1到Sheet1.UsedRange.Rows.Count
尺寸o_d,o,d为字符串
o_d=表1.单元格(i,1).值
o=getO(o_d)
d=getD(o_d)
如果不是(o=”“)和(d=“”),则
调暗d_o为字符串
d_0=d&“&o
变暗od_时间,od_距离为双倍
od_时间=表1.单元格(i,2).值
od_dist=Sheet1.单元格(i,3).值
对于j=i+1到Sheet1.UsedRange.Rows.Count
如果Sheet1.单元格(j,1).Value=d_0,则
时间变暗,距离加倍
do_time=Sheet1.单元格(j,2).值
do_dist=Sheet1.单元格(j,3).值

如果od_时间位于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
maxsheetlen=65000
如果j>maxsheetlen,则
活页(2).单元格(j-maxsheetlen,4)=i
其他的
活页(1).单元格(j,4)=i
如果结束

“为其他人做”如果你有时间,你如何阅读工作表中每个ws的