返回列表 上一主題 發帖

TEST與資料檔(材料)工作表比對

TEST與資料檔(材料)工作表比對

本帖最後由 plyl 於 2011-3-21 10:39 編輯

Private Sub AA_Click()
Dim myrow, myrow2 As Integer

For myrow = 4 To 50  
If Sheets("TEST").Cells(myrow, 1) = "" Then Exit For
    For myrow2 = 2 To 5000
      If Sheets("資料檔").Cells(myrow2, 1) = "" Then Exit For
      If Sheets("資料檔").Cells(myrow2, 1) = Sheets("TEST").Cells(myrow, 1) = Sheets("資料檔").Cells(myrow2, 18) Then _
      Sheets("TEST").Cells(myrow, 2) = Sheets("資料檔").Cells(myrow2, 18):
    Exit For
  
Next
Next
End Sub
註:1.我有兩個工作表"TEST' "資料檔"
    2.TEST("A4:A50")與資料檔("A2:A500")做比對
     3.完全吻合就將資料檔("A3")貼到TEST ("B4")


麻煩大大幫我解析哪裡出錯謝謝感恩
初學者
plyl

出現  型態不符合 (錯誤 13)

初學者
plyl

TOP

3.完全吻合就將資料檔("A3")貼到TEST ("B4")
是"D3"
myrow3 = myrow3 + 1 "原來重點就在這"
我又在這後面又加一行不然跳不出去
If Sheets("TEST").Cells(myrow, 1) = "" Then Exit For

GBKEE版主 辛苦您了!小弟由衷感謝
plyl

TOP

本帖最後由 plyl 於 2011-3-21 19:23 編輯
回復  plyl
Private Sub AA_Click()
    Dim myrow, myrow2, myrow3 As Integer
    myrow3 = 4
    F ...
GBKEE 發表於 2011-3-21 17:28


   {原來是這樣放
   是不是For myrow = 4 To 50 如果20是空格 會離開For myrow 的回圈}

   Dim myrow, myrow2, myrow3 As Integer

    myrow3 = 4

    For myrow = 4 To 50

        For myrow2 = 3 To 5000

            If Sheets("TEST").Cells(myrow, 1) = Sheets("資料檔(材料)").Cells(myrow2, 1) Then
                    'ITO RECIPE
                    Sheets("TEST").Cells(myrow3, 41) = Sheets("資料檔(材料)").Cells(myrow2, 32)
                    'ITES 可RUN 01 OR 02
                    Sheets("TEST").Cells(myrow3, 64) = Sheets("資料檔(材料)").Cells(myrow2, 33)
                    myrow3 = myrow3 + 1
             If Sheets("TEST").Cells(myrow, 1) = "" Then Exit For     {我是放在這裡}      
           End If

        Next

    Next

GBKEE版主 辛苦您了!小弟由衷感謝
plyl

TOP

本帖最後由 plyl 於 2011-3-23 06:01 編輯

If Sheets("TEST").Cells(myrow, 1) = Sheets("資料檔(材料)").Cells(myrow2, 1) Then

Sheets("資料檔(材料)").Cells(myrow2, 1)  有資料

方法1
Dim myrow, myrow2, myrow3 As Integer

    myrow3 = 4

    For myrow = 4 To 50
    If Sheets("TEST").Cells(myrow, 1) <> "" Then        For myrow2 = 3 To 5000

            If Sheets("TEST").Cells(myrow, 1) = Sheets("資料檔(材料)").Cells(myrow2, 1) Then
                    'ITO RECIPE
                    Sheets("TEST").Cells(myrow3, 41) = Sheets("資料檔(材料)").Cells(myrow2, 32)
                    'ITES 可RUN 01 OR 02
                    Sheets("TEST").Cells(myrow3, 64) = Sheets("資料檔(材料)").Cells(myrow2, 33)
                    myrow3 = myrow3 + 1
            
            End If

        Next
    End If    Next

方法2
Dim myrow, myrow2, myrow3 As Integer

    myrow3 = 4

    For myrow = 4 To 50

        For myrow2 = 3 To 5000

            If Sheets("TEST").Cells(myrow, 1) = Sheets("資料檔(材料)").Cells(myrow2, 1) Then
                    'ITO RECIPE
                    Sheets("TEST").Cells(myrow3, 41) = Sheets("資料檔(材料)").Cells(myrow2, 32)
                    'ITES 可RUN 01 OR 02
                    Sheets("TEST").Cells(myrow3, 64) = Sheets("資料檔(材料)").Cells(myrow2, 33)
                    myrow3 = myrow3 + 1
             If Sheets("TEST").Cells(myrow, 1) = "" Then Exit For         
           End If

        Next

    Next
目前測試兩種方法多可以抓到資料
請問方法2的結構是不是錯的
GBKEE版主 辛苦您了!小弟由衷感謝
plyl

TOP

        靜思自在 : 屋寬不如心寬。
返回列表 上一主題