返回列表 上一主題 發帖

[發問] 請高人幫忙除錯,謝謝~

本帖最後由 GBKEE 於 2012-12-7 09:47 編輯

回復 34# 198188
修改錯誤點
  1.      If  Rng(1).End(xlDown).Row <> Rng(1).Parent.Rows.Count Then
  2.         Set Rng(1) = Rng(1).End(xlDown).Offset(1)
  3.     Else
  4.         MsgBox "已到檔案底部 無法新增資料"
  5.        Exit Sub
  6.     End If
複製代碼

TOP

回復 32# GBKEE


    Set Rng(1) = Rng(1).End(xlDown).Offset(1)      出現ERROR :RUN-TIME ERROR '1004'; APPLICATION-DEFINED OR OBJECT-DEFINED ERROR
請問是哪�埵陸暋D?

TOP

回復 32# GBKEE

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: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

TOP

回復 31# 198188
  1. Set Rng(2) = .[A2:AL2]
  2.     'Set Rng(2) = .Range(Rng(2), .[AL2].End(xlDown))
  3.     Set Rng(2) = Rng(2).Resize(.[E1].End(xlDown).Row - 1)
  4.     'Resize 屬性 調整指定的範圍。傳回 Range 物件,該物件代表調整後的範圍。
複製代碼

TOP

回復 30# GBKEE


我的五個DATA BASE�堶掖ㄛO以E欄作最後一筆資料,但之前的program好像是以A欄尋找最後一筆,對嗎?

TOP

回復 29# 198188
由於我的data base沒有是E欄才可以check到最後一筆,請問我應該如何改。
沒有是E欄 是何意

TOP

回復 17# GBKEE

Data.rar (978.26 KB)

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: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


由於我的data base沒有是E欄才可以check到最後一筆,請問我應該如何改。

TOP

回復 26# GBKEE

請問可否幫忙以下link 的問題,謝謝
  http://forum.twbts.com/thread-8512-1-1.html

TOP

回復 8# kimbal


請問可否將不同的server內不同的excel,不同的sheet,copy在另外一個excel可以嗎?
括號內代表sheet名
Y:\2012\shipment 2012\Mainland ETA Update.xlsx (MAINLAN ETA)
Y:\2012\payment 2012\One Time Deposit list.xlsx (NOV)
Y:\2012\payment 2012\payment report 2012.xlsx (2012)
Y:\2012\claim 2012\Claim control 20100106.xlsx(2012)
Y:\2012\shipment 2012\HK ETA update.xlsx(HK ETA)
W:\PIHK\NEW 香港辦公室正本收放單記錄-FROM 01-MAR-2012 to current(updated).xlsx(RECEIVE)
Y:\2012\contract record 2012\daily doc.xlsx (DAILY DOCS)
Y:\2012\shipment 2012\ORACLE\ORACLESS 11-28 .xlsx(ORACLESS)

將以上的sheet 同時copy 在下面excel內可以嗎?每個sheet自動分開,用它們的excel名來命名sheet名
C:\Users\patrick.HKG\Desktop\Master.xlsx

TOP

回復 24# 198188
試試看
  1. Sub copyfile()
  2.     '單純複製更名
  3.     Dim xlfile As String
  4.     xlfile = "Y:\2012\payment 2012\Outstanding payment ss 2012\Dec 2012\Outstanding Payments" & Format(Date, "m-D-YYYY") & ".xlsm"
  5.     If Dir(xlfile) = "" Then
  6.         MsgBox "找不到 檔案"
  7.     Else
  8.         FileCopy xlfile, "C:\users\patrick.hkg\desktop\outstanding payments.xlsm"
  9.     End If
  10. End Sub
複製代碼

TOP

        靜思自在 : 君子如水,隨方就圓,無處不自在。
返回列表 上一主題