FileCopy "Y:\2012\shipment 2012\ORACLE\ORACLESS & p & .xlsx", "C:\Users\patrick.HKG\Desktop\oracless.xlsx"
End Sub
出現 run-time error '53' file not found
2)
Sub txet1()
FileCopy "Y:\2012\shipment 2012\Mainland ETA Update.xlsx", "C:\Users\patrick.HKG\Desktop\Mainland ETA Update.xlsx"
FileCopy "Y:\2012\payment 2012\One Time Deposit list.xlsx", "C:\Users\patrick.HKG\Desktop\One Time Deposit list.xlsx"
FileCopy "Y:\2012\payment 2012\payment report 2012.xlsx", "C:\Users\patrick.HKG\Desktop\payment report 2012.xlsx"
FileCopy "Y:\2012\claim 2012\Claim control 20100106.xls", "C:\Users\patrick.HKG\Desktop\Claim control 20100106.xls"
FileCopy "Y:\2012\shipment 2012\HK ETA update.xlsx", "C:\Users\patrick.HKG\Desktop\HK ETA update.xlsx"
FileCopy "W:\PIHK\NEW 香港辦公室正本收放單記錄-FROM 01-MAR-2012 to current(updated).xlsx", "C:\Users\patrick.HKG\Desktop\NEW 香港辦公室正本收放單記錄-FROM 01-MAR-2012 to current(updated).xlsx"
FileCopy "Y:\2012\contract record 2012\daily doc.xlsx", "C:\Users\patrick.HKG\Desktop\daily doc.xlsx"
FileCopy "Y:\2012\shipment 2012\ORACLE\ORACLESS 11-28 .xlsx", "C:\Users\patrick.HKG\Desktop\oracless.xlsx"
End Sub
1)Sub txet1()
P = Format(Date, "m") & "-" & Format(Date, "d") & "-" & Format(Date, "Y")
VBA.FileCopy "Y:\2012\payment 2012\Outstanding payment ss 2012\Dec 2012\Outstanding Payments " & P & ".xlsm", "C:\users\patrick.hkg\desktop\outstanding payments.xlsm"
End Sub
我的file 名是 Outstanding Payments 12-4-2012
run 是出現run-time error '53': file not found 請問是哪裡出錯了?
p 需要SET什麼嗎?DIM P AS STRING 之類嗎?
2)
Sub txet1()
FileCopy "W:\PIHK\NEW 香港辦公室正本收放單記錄-FROM 01-MAR-2012 to current(updated).xlsx", "C:\Users\patrick.HKG\Desktop\NEW 香港辦公室正本收放單記錄-FROM 01-MAR-2012 to current(updated).xlsx"
End Sub
是否因為file 名太長或者什麼原因,這句出現錯誤?或者是否因為我同時copy 另外一個Y server所以不行?
Sub txet1()
'單純複製更名
P = Format(Date, "m") & "-" & Format(Date, "d") & "-" & Format(Date, "Y")
VBA.FileCopy "Y:\2012\payment 2012\Outstanding payment ss 2012\Dec 2012\OutstandingPayments " & P & ".xlsm", "C:\users\patrick.hkg\desktop\outstandingpayments.xlsm"
End Sub
Sub txet1()
'單純複製更名
P = Format(Date, "m") & "-" & Format(Date, "d") & "-" & Format(Date, "Y")
VBA.FileCopy "Y:\2012\payment 2012\Outstanding payment ss 2012\Dec 2012\OutstandingPayments " & P & ".xlsm", "C:\users\patrick.hkg\desktop\outstandingpayments.xlsm"
End Sub
'With Workbooks.Open("C:\Users\patrick.HKG\Desktop\COPY.XLSM").Sheets("2012")
With Workbooks("payment.XLSM").Sheets("2012")
.Range("A1").CurrentRegion.Offset(1) = ""
Set Rng(1) = .[A2]
With Workbooks.Open("C:\Users\patrick.HKG\Desktop\Jenny.XLSX").Sheets("SHEET1")
Set Rng(2) = .[A2:AL2]
Set Rng(2) = .Range(Rng(2), .[A2].End(xlDown))
Rng(2).copy Rng(1)
.Parent.Close False
End With
Set Rng(1) = Rng(1).End(xlDown).Offset(1)
With Workbooks.Open("C:\Users\patrick.HKG\Desktop\Jane.XLSX").Sheets("SHEET1")
Set Rng(2) = .[A2:AL2]
Set Rng(2) = .Range(Rng(2), .[A2].End(xlDown))
Rng(2).copy Rng(1)
.Parent.Close False
End With
Set Rng(1) = Rng(1).End(xlDown).Offset(1)
With Workbooks.Open("C:\Users\patrick.HKG\Desktop\Lily.XLSX").Sheets("sheet1")
Set Rng(2) = .[A2:AL2]
Set Rng(2) = .Range(Rng(2), .[A2].End(xlDown))
Rng(2).copy Rng(1)
.Parent.Close False
End With
Set Rng(1) = Rng(1).End(xlDown).Offset(1)
With Workbooks.Open("C:\Users\patrick.HKG\Desktop\Connie.XLSX").Sheets("sheet1")
Set Rng(2) = .[A2:AL2]
Set Rng(2) = .Range(Rng(2), .[A2].End(xlDown))
Rng(2).copy Rng(1)
.Parent.Close False
End With
Set Rng(1) = Rng(1).End(xlDown).Offset(1)
With Workbooks.Open("C:\Users\patrick.HKG\Desktop\Patrick.XLSX").Sheets("sheet1")
Set Rng(2) = .[A2:AL2]
Set Rng(2) = .Range(Rng(2), .[A2].End(xlDown))
Rng(2).copy Rng(1)
.Parent.Close False
End With
End With
End Sub
Set Rng(1) = .[A2]
With Workbooks.Open("C:\Users\patrick.HKG\Desktop\Jenny.XLSX").Sheets("SHEET1")
Set Rng(2) = .[A2:AL2]
Set Rng(2) = .Range(Rng(2), .[A2].End(xlDown))
Rng(2).copy Rng(1)
.Parent.Close False
End With
Set Rng(1) = Rng(1).End(xlDown).Offset(1)
With Workbooks.Open("C:\Users\patrick.HKG\Desktop\Jane.XLSX").Sheets("SHEET1")
Set Rng(2) = .[A2:AL2]
Set Rng(2) = .Range(Rng(2), .[AL2].End(xlDown))
Set Rng(2) = Rng(2).Resize(.[E1].End(xlDown).Row - 1)
Rng(2).copy Rng(1)
.Parent.Close False
End With
Set Rng(1) = Rng(1).End(xlDown).Offset(1)
With Workbooks.Open("C:\Users\patrick.HKG\Desktop\Lily.XLSX").Sheets("sheet1")
Set Rng(2) = .[A2:AL2]
Set Rng(2) = .Range(Rng(2), .[AL2].End(xlDown))
Set Rng(2) = Rng(2).Resize(.[E1].End(xlDown).Row - 1)
Rng(2).copy Rng(1)
.Parent.Close False
End With
Set Rng(1) = Rng(1).End(xlDown).Offset(1)
With Workbooks.Open("C:\Users\patrick.HKG\Desktop\Connie.XLSX").Sheets("sheet1")
Set Rng(2) = .[A2:AL2]
Set Rng(2) = .Range(Rng(2), .[AL2].End(xlDown))
Set Rng(2) = Rng(2).Resize(.[E1].End(xlDown).Row - 1)
Rng(2).copy Rng(1)
.Parent.Close False
End With
Set Rng(1) = Rng(1).End(xlDown).Offset(1)
With Workbooks.Open("C:\Users\patrick.HKG\Desktop\Patrick.XLSX").Sheets("sheet1")
Set Rng(2) = .[A2:AL2]
Set Rng(2) = .Range(Rng(2), .[AL2].End(xlDown))
Set Rng(2) = Rng(2).Resize(.[E1].End(xlDown).Row - 1)
Rng(2).copy Rng(1)
.Parent.Close False
End With
End With
End Sub
Set Rng(1) = Rng(1).End(xlDown).Offset(1) 出現ERROR :RUN-TIME ERROR '1004'; APPLICATION-DEFINED OR OBJECT-DEFINED ERROR作者: 198188 時間: 2012-12-7 09:02
Set Rng(1) = .[A2]
With Workbooks.Open("C:\Users\patrick.HKG\Desktop\Jenny.XLSX").Sheets("SHEET1")
Set Rng(2) = .[A2:AL2]
Set Rng(2) = .Range(Rng(2), .[e2].End(xlDown))
Rng(2).copy Rng(1)
.Parent.Close False
End With
Set Rng(1) = Rng(1).End(xlDown).Offset(1)
With Workbooks.Open("C:\Users\patrick.HKG\Desktop\Jane.XLSX").Sheets("SHEET1")
Set Rng(2) = .[A2:AL2]
Set Rng(2) = .Range(Rng(2), .[AL2].End(xlDown))
Set Rng(2) = Rng(2).Resize(.[E1].End(xlDown).Row - 1)
Rng(2).copy Rng(1)
.Parent.Close False
End With
會不會因為之前是用A欄來計算最後一筆,但現在我改成用E欄檢查最後一筆,而 Set Rng(1) = Rng(1).End(xlDown).Offset(1)這句話是用A欄來設定?
Set Rng(1) = .[A2]
Set Rng(1) = Rng(1).End(xlDown).Offset(1)作者: 198188 時間: 2012-12-7 13:58
[attach]13425[/attach][attach]13426[/attach][attach]13427[/attach][attach]13428[/attach][attach]13429[/attach][attach]13430[/attach]
Option Explicit
Sub copy()
Dim Rng(1 To 2) As Range
'With Workbooks.Open("C:\Users\patrick.HKG\Desktop\COPY.XLSM").Sheets("2012")
With Workbooks("payment.XLSM").Sheets("2012")
.Range("A1").CurrentRegion.Offset(1) = ""
Set Rng(1) = .[a2]
With Workbooks.Open("C:\Users\patrick.HKG\Desktop\Jenny.XLSX").Sheets("SHEET1")
Set Rng(2) = .[A2:L2]
Set Rng(2) = .Range(Rng(2), .[a2].End(xlDown))
Rng(2).copy Rng(1)
.Parent.Close False
End With
Set Rng(1) = Rng(1).End(xlDown).Offset(1)
With Workbooks.Open("C:\Users\patrick.HKG\Desktop\Jane.XLSX").Sheets("SHEET1")
Set Rng(2) = .[A2:L2]
Set Rng(2) = .Range(Rng(2), .[a2].End(xlDown))
Set Rng(2) = Rng(2).Resize(.[E1].End(xlDown).Row - 1)
Rng(2).copy Rng(1)
.Parent.Close False
End With
Set Rng(1) = Rng(1).End(xlDown).Offset(1)
With Workbooks.Open("C:\Users\patrick.HKG\Desktop\Lily.XLSX").Sheets("sheet1")
Set Rng(2) = .[A2:L2]
Set Rng(2) = .Range(Rng(2), .[a2].End(xlDown))
Set Rng(2) = Rng(2).Resize(.[E1].End(xlDown).Row - 1)
Rng(2).copy Rng(1)
.Parent.Close False
End With
Set Rng(1) = Rng(1).End(xlDown).Offset(1)
With Workbooks.Open("C:\Users\patrick.HKG\Desktop\Connie.XLSX").Sheets("sheet1") Set Rng(2) = .[A2:L2]
Set Rng(2) = .Range(Rng(2), .[a2].End(xlDown))
Set Rng(2) = Rng(2).Resize(.[E1].End(xlDown).Row - 1)
Rng(2).copy Rng(1)
.Parent.Close False
End With
Set Rng(1) = Rng(1).End(xlDown).Offset(1)
With Workbooks.Open("C:\Users\patrick.HKG\Desktop\Patrick.XLSX").Sheets("sheet1")
Set Rng(2) = .[A2:L2]
Set Rng(2) = .Range(Rng(2), .[a2].End(xlDown))
Set Rng(2) = Rng(2).Resize(.[E1].End(xlDown).Row - 1)
Rng(2).copy Rng(1)
.Parent.Close False
End With
End With
End Sub
我用了上面的程式,但出來的result卻無法全部出來。請問哪裡需要改?作者: GBKEE 時間: 2012-12-7 17:07
With Workbooks.Open("C:\Users\patrick.HKG\Desktop\Connie.XLSX").Sheets("SHEET1")
Set Rng(2) = .[A2:L2]
Set Rng(2) = Rng(2).Resize(.[E1].End(xlDown).Row - 1)
Rng(2).copy Rng(1).Cells(1, -3) 'A欄
.Parent.Close False
End With
Set Rng(1) = Rng(1).End(xlDown).Offset(1)
With Workbooks.Open("C:\Users\patrick.HKG\Desktop\Lily.XLSX").Sheets("SHEET1")
Set Rng(2) = .[A2:L2]
' **** Set Rng(2) = .Range(Rng(2), .[a2].End(xlDown)) ***** 這行不要用
Set Rng(2) = Rng(2).Resize(.[E1].End(xlDown).Row - 1)
Rng(2).copy Rng(1).Cells(1, -3)
.Parent.Close False
End With
Set Rng(1) = Rng(1).End(xlDown).Offset(1)
With Workbooks.Open("C:\Users\patrick.HKG\Desktop\Jane.XLSX").Sheets("SHEET1")
Set Rng(2) = .[A2:L2]
' **** Set Rng(2) = .Range(Rng(2), .[a2].End(xlDown)) ***** 這行不要用
Set Rng(2) = Rng(2).Resize(.[E1].End(xlDown).Row - 1)
Rng(2).copy Rng(1).Cells(1, -3)
.Parent.Close False
End With
Set Rng(1) = Rng(1).End(xlDown).Offset(1)
With Workbooks.Open("C:\Users\patrick.HKG\Desktop\Jenny.XLSX").Sheets("SHEET1")
Set Rng(2) = .[A2:L2]
' **** Set Rng(2) = .Range(Rng(2), .[a2].End(xlDown)) ***** 這行不要用
Set Rng(2) = Rng(2).Resize(.[E1].End(xlDown).Row - 1)
Rng(2).copy Rng(1).Cells(1, -3)
.Parent.Close False
End With
Set Rng(1) = Rng(1).End(xlDown).Offset(1) '程式run 到這裡出現問題 application-defined or object-defined error
With Workbooks.Open("C:\Users\patrick.HKG\Desktop\Patrick.XLSX").Sheets("SHEET1")
Set Rng(2) = .[A2:L2]
' **** Set Rng(2) = .Range(Rng(2), .[a2].End(xlDown)) ***** 這行不要用
Set Rng(2) = Rng(2).Resize(.[E1].End(xlDown).Row - 1)
Rng(2).copy Rng(1).Cells(1, -3)
.Parent.Close False
End With
End With
End Sub
最後一個出現問題 Set Rng(1) = Rng(1).End(xlDown).Offset(1) '程式run 到這裡出現問題 application-defined or object-defined error
另外中間有一列空格,之後的資料就無法出來。但第一次的程式,在copy 第一個excel 就算中間有一列空格,它也可以往下copy?作者: 198188 時間: 2012-12-8 00:57