- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
回復 1# chyong911
試試看- Private Sub 查詢_Click()
- Dim Sh(1 To 2) As Worksheet, Rng(1 To 2) As Range, P As Integer, i As Integer
- Dim Ar()
-
- Application.ScreenUpdating = False ''關閉螢幕跳躍
- Set Sh(1) = Sheets("票據簽收單")
- Set Sh(2) = Sheets("應付票據data")
-
- Set Rng(1) = Sh(1).Range("W6") '到期日
- Set Rng(2) = Sh(2).Range("C3") '庫傳票單號
-
- If Rng(2) = "" And Rng(2).End(xlDown).Row = Rows.Count Then
- MsgBox "應付資料 中 沒有 庫傳票單號"
- Exit Sub
- End If
- ClearFunction ''清空查詢結果
-
- '執行查詢
- P = 1
- Ar = Array("C", "V", "Y", "D") '應付票據data 要導入的欄位
- Do While Rng(2) <> "" '庫傳票單號不為空值
- If InStr(Rng(2), Rng(1)) Then '找到輸入到期日
- For i = 1 To 4 'X,Y,Z,AA 欄位
- Rng(1).Cells(P, i + 1) = Sh(2).Cells(Rng(2).Row, Ar(i - 1))
- Next
- P = P + 1 '查詢到 +1 列位
- End If
- Set Rng(2) = Rng(2).Offset(1) '下一個庫傳票單號
- Loop
- Application.ScreenUpdating = True
- End Sub
複製代碼 |
|