- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
|
4#
發表於 2012-12-8 12:55
| 只看該作者
回復 3# 198188
是文法不是文化.
當日的日期: today()這是工作表函數 ,VBA -> Date- Option Explicit
- Sub ex()
- Dim FRng As Range, Wb As Workbook
- Dim A As Range, Rng As Range
- Dim fs As String, xi As Integer
- fs = "C:\Documents and Settings\USER\桌面\b.xlsx"
- Set Wb = Workbooks.Open(fs)
- Set FRng = Wb.Sheets("sheet1").Range("k:k").Find(Date, lookat:=xlWhole, SearchDirection:=xlPrevious) '在b.xlsx 的K欄尋找等當日的日期的一列
- If Not FRng Is Nothing Then '假如找到
- If FRng.Offset(, -3).Value >= 0.95 Then '假如b.xlsx 這列的H欄的值大過或等於0.95
- '*** Workbooks(A)-> A這變數字串沒有見到 ****
- Set Rng = Workbooks(A).Range("a:a").Find(FRng.Offset(, -9), lookat:=xlWhole, SearchDirection:=xlPrevious) ' 在a.xlsx 的A欄尋找b.xlsx 這列的B欄的值是否存在
- If FRng Is Nothing Then '假如找不到
- With Workbooks.Open("a.xlsm").Sheets("outstanding payments") ' 在a.xlsx 的A欄最後一列加上b.xlsx 這列的B欄的值,及 在a.xlsx 的F欄最後一列加上b.xlsx 這列的K欄的值
- xi = .UsedRange.Cells(.UsedRange.Count).Row
- .UsedRange.Cells(xi, "A") = FRng.Offset(, -9).Value
- .UsedRange.Cells(xi, "F") = FRng.Value
- End With
- End If
- End If
- End If
- End Sub
複製代碼 ps: 回覆時 按下[代碼] 將程式碼內容貼上,提交,即可便於查看者,複製程式碼. |
|