2014-01-15 2 views
1

Excel에서 정보까지를 가지고 있으며 원하는 것은 거리 a에서 점 b까지 그리고 점 b에서 점 a까지 거리와 시간을 검색하는 것입니다. 그런 다음이 비교 사이에 더 작은 값을 삽입하고 싶습니다.여러 워크 시트에서 Excel vba를 실행하는 방법

실제로 코드가 작동하지만 하나의 워크 시트에서만 검색 할 수 있습니다. 나는 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 개의 워크 시트를 통해 검색하고 해당 항목을 찾으려면 어떻게해야합니까?

는 당신에게 J 루프 내에서

+2

을 어떻게 '에 대한 몇 가지 독서를 할 대해 worksheets'의 각 WS에 대한 –

답변

0

장소 감사합니다

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 
관련 문제