返回列表 上一主題 發帖

[發問] sheet1 & Sheet2 欄位比對,如何變成整行列比對執行

[發問] sheet1 & Sheet2 欄位比對,如何變成整行列比對執行

Sheet1 & Sheet2 的 單一欄位可以做比對,如果要把整格欄位跑完的迴圈,怎麼編譯會比較好,想破頭中...

code as below:

Sub 按鈕1_Click()
Dim Number As String

If Worksheets(1).Range("B2").Value = Worksheets(2).Range("B2") Then
Number = Worksheets(2).Range("P2").Value
Select Case Number
    Case Is = "Passed"
        Worksheets(1).Range("P2").Value = "Passed"
        Worksheets(1).Range("Q2").Value = Sheets(2).Range("Q2").Value
        Worksheets(1).Range("V2").Value = Sheets(2).Range("V2").Value
    Case Is = "Failed"
        Worksheets(1).Range("P2").Value = "Failed"
        Worksheets(1).Range("Q2").Value = Sheets(2).Range("Q2").Value
        Worksheets(1).Range("V2").Value = Sheets(2).Range("V2").Value
    Case Is = "Blocked"
        Worksheets(1).Range("P2").Value = "Blocked"
        Worksheets(1).Range("Q2").Value = Sheets(2).Range("Q2").Value
        Worksheets(1).Range("V2").Value = Sheets(2).Range("V2").Value
    Case Is = "Exempted"
        Worksheets(1).Range("P2").Value = "Exempted"
        Worksheets(1).Range("Q2").Value = Sheets(2).Range("Q2").Value
        Worksheets(1).Range("V2").Value = Sheets(2).Range("V2").Value
    End Select


MsgBox "finished"

End If

End Sub

回復 1# 迷糊小書僮

導入 For loop
但是Range("B2")=>裡面的("B2")可以用變數取代嗎?利用i在+1變成自動加行列去處理嗎?

For i = 2 To 5000
a = "P" & i
If Worksheets(1).Range("B2").Value = Worksheets(2).Range("B2") Then
    Worksheets(1).Range("B & i").Vaule Worksheets(2).Range("B & i") ??

Number = Worksheets(2).Range("P2").Value

TOP

回復 2# 迷糊小書僮

for loop 已解出

For i = 2 To 2000
a = "P" & i
b = "Q" & i
c = "V" & i
d = "B" & i
If Worksheets(1).Range(d).Value = Worksheets(2).Range(d) Then

Number = Worksheets(2).Range(a).Value
Select Case Number
    Case Is = "Passed"
        Worksheets(1).Range(a).Value = "Passed"
        Worksheets(1).Range(b).Value = Sheets(2).Range(b).Value
        Worksheets(1).Range(c).Value = Sheets(2).Range(c).Value
    Case Is = "Failed"
        Worksheets(1).Range(a).Value = "Failed"
        Worksheets(1).Range(b).Value = Sheets(2).Range(b).Value
        Worksheets(1).Range(c).Value = Sheets(2).Range(c).Value
    Case Is = "Blocked"
        Worksheets(1).Range(a).Value = "Blocked"
        Worksheets(1).Range(b).Value = Sheets(2).Range(b).Value
        Worksheets(1).Range(c).Value = Sheets(2).Range(c).Value
    Case Is = "Exempted"
        Worksheets(1).Range(a).Value = "Exempted"
        Worksheets(1).Range(b).Value = Sheets(2).Range(b).Value
        Worksheets(1).Range(c).Value = Sheets(2).Range(c).Value
        
    End Select

TOP

        靜思自在 : 有智慧才能分辨善惡邪正;有謙虛才能建立美滿人生。
返回列表 上一主題