返回列表 上一主題 發帖

[發問] 資料套表

回復 1# PJChen

請測試看看,謝謝
Sub test()
Dim Arr, Brr, i&, C%
Arr = Range([預約!o1], [預約!a65536].End(3))
Brr = Sheets("說明").[j1].CurrentRegion
Tm = Timer
For i = 2 To UBound(Arr)
    If UCase(Arr(i, 15)) = "V" Then
        With Sheets("塑板")
            .[c17] = Arr(i, 1): .[e22] = Arr(i, 3): .[c28] = Date
            For j = 2 To UBound(Brr)
                If Arr(i, 2) = Brr(1, j) Then
                .[c16] = Brr(2, j): .[c26] = Brr(3, j): .[c27] = Brr(4, j)
                End If
            Next
        End With
        C = 1: Exit For
    End If
Next
If C = 1 Then
    Application.DisplayAlerts = False
    Sheets("塑板").Copy
    ActiveWorkbook.SaveAs "D:\" & "佳-" & Format(Date, "yyyymmdd") & ".xlsx"
    ActiveWindow.Close
    Application.DisplayAlerts = True
    With Sheets("塑板")
        .[c17] = "": .[e22] = "": .[c28] = ""
        .[c16] = "": .[c26] = "": .[c27] = ""
    End With
End If
MsgBox Timer - Tm
End Sub

TOP

回復 3# PJChen


不好意思,我測試沒問題,可否請在明確說明您的問題哪裡?
謝謝

TOP

回復 5# PJChen

那到底原因為何?有法改善嗎?
>> 不好意思,造成您的困擾,我的粗心大意,已更新如附件,謝謝
For j = 2 To UBound(Brr, 2)
(Brr,2)橫向(欄col)找資料
(Brr)直向(列row)找資料

資料套表1001.zip (42 KB)

TOP

回復 8# PJChen

如何讓所有"V"
連續做套表動作,直到完成?
>> 請測試看看,謝謝

Sub test()
Dim Arr, Brr, i&, C%
Tm = Timer
Application.DisplayAlerts = False
Brr = Sheets("說明").[j1].CurrentRegion
Arr = Range([預約!o1], [預約!a65536].End(3))
With Sheets("塑板")
    .[c17] = "": .[e22] = "": .[c28] = ""
    .[c16] = "": .[c26] = "": .[c27] = ""
End With
For i = 2 To UBound(Arr)
    If UCase(Arr(i, 15)) = "V" Then
        With Sheets("塑板")
            .[c17] = Arr(i, 1): .[e22] = Arr(i, 3): .[c28] = Date 'Arr(i, 1)=日期,Arr(i, 3)=數量
            For j = 2 To UBound(Brr, 2)
                If Arr(i, 2) = Brr(1, j) Then
                .[c16] = Brr(2, j): .[c26] = Brr(3, j): .[c27] = Brr(4, j)
                End If
            Next
        End With
        Sheets("塑板").Copy
        ActiveWorkbook.SaveAs "D:\" & Arr(i, 2) & "-" & Format(Arr(i, 1), "yyyymmdd") & ".xlsx"
        ActiveWindow.Close
        With Sheets("塑板")
            .[c17] = "": .[e22] = "": .[c28] = ""
            .[c16] = "": .[c26] = "": .[c27] = ""
        End With
    End If
Next
MsgBox Timer - Tm
Application.DisplayAlerts = True
End Sub

TOP

        靜思自在 : 改變自己是自救,影響別人是救人。
返回列表 上一主題