Board logo

標題: [發問] range(cells(),cells())產生1004錯誤 [打印本頁]

作者: joey0415    時間: 2014-12-17 22:38     標題: range(cells(),cells())產生1004錯誤

我有三個excel檔,在第一個中寫程式如下,可以執行
A打開B找區域最大值後,貼回A中,關閉後,再打開C區域最大值後,貼回A中,關閉後,結速程式
第二個卻說1004錯誤

一個用range來設定區域沒有問題,另一個改成range(cells(),cells())的方式卻產生錯誤!請高手指點迷津

Sub 正確可執行()
        Workbooks(1).Worksheets("test").Activate
        For i = 3 To 5
            sname = Workbooks(1).Worksheets("test").Cells(i, 1)
            Workbooks.Open Filename:=ThisWorkbook.Path & "\" & sname & ".xlsx"

               If Application.Sum(Workbooks(2).Worksheets("cr").Range("b2:b5")) > 0 Then
               Workbooks(1).Worksheets("test").Cells(i, 5) = Application.Sum(Workbooks(2).Worksheets("cr").Range("b2:b5"))
             End If

            Workbooks(2).Close
        Next
   
End Sub




Sub 錯誤不可執行()
        Workbooks(1).Worksheets("test").Activate
        For i = 3 To 5
            sname = Workbooks(1).Worksheets("test").Cells(i, 1)
            Workbooks.Open Filename:=ThisWorkbook.Path & "\" & sname & ".xlsx"
                If Application.Sum(Workbooks(2).Worksheets("cr").Range(Cells(11, 2), Cells(11, 5))) > 0 Then
                Workbooks(1).Worksheets("test").Cells(i, 5) = Application.Sum(Workbooks(2).Worksheets("cr").Range(Cells(11, 2), Cells(11, 5)))
                End If
            Workbooks(2).Close
        Next
   
End Sub
作者: GBKEE    時間: 2014-12-18 06:09

回復 1# joey0415
  1. Sub 錯誤不可執行()
  2.     Dim I As Integer, Sh As Worksheet, S As Long
  3.     Workbooks(1).Worksheets("test").Activate  'ActiveSheet(作用中的工作表)
  4.     'Cells(11, 2) 是這Worksheets("test")的所會有錯誤
  5.     For I = 3 To 5
  6.         sname = Workbooks(1).Worksheets("test").Cells(I, 1)
  7.         Workbooks.Open Filename:=ThisWorkbook.Path & "\" & sname & ".xlsx"
  8.         Set Sh = Workbooks(2).Worksheets("cr")   '
  9.         S = Application.Sum(Sh.Range(Sh.Cells(11, 2), Sh.Cells(11, 5)))
  10.         '不是 ActiveSheet(作用中的工作表) 的Range,Cells(物件) 要指名父層
  11.         
  12.         If S > 0 Then Workbooks(1).Worksheets("test").Cells(I, 5) = S
  13.         Workbooks(2).Close
  14.     Next
  15.    
  16. End Sub
複製代碼

作者: joey0415    時間: 2014-12-18 10:48

回復 2# GBKEE

感謝超版!我等一下來試試看哦!

再次感謝




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)