當我運行下面轉換SUMIF forimula從Excel宏VBA - Prolem 2:轉換單元範圍
Sub test2() Dim i,
Rownumber As Integer
Rownumber = Sheets("Sheet4").Range("A65536").End(xlUp).Row
For i = 2 To Rownumber
Sheets("Sheet4").Cells(i, 3).Formula = "=sumif(Sheet3!$A$2:$A$10, Sheet4!A2, Sheet3!$B$2:$B$10)"
Next i
End Sub
碼宏運行良好,但是當我將其轉換成宏VBA:
Sub test2()
Dim i, Rownumber As Integer
Rownumber = Sheets("Sheet4").Range("A65536").End(xlUp).Row
For i = 2 To Rownumber
Sheets("Sheet4").Cells(i, 3).Value = Application.WorksheetFunction.SumIfs(Sheets("Sheet3").Range("A2:A10"), Sheets("Sheet4").Cells(2, 1), Sheets("Sheet3").Range("B2:B10"))
Next i
End Sub
它給我的錯誤 - >運行錯誤類型13,類型missmatch
任何線索,爲什麼發生這種情況,如何解決? - 套管關閉
感謝
問題NO 2
下面的代碼運行良好時,它的執行:
For j = 3 To Colnumber
For i = 2 To Rownumber
Sheets("Sheet2").Cells(i, j).Value = Application.WorksheetFunction.SumIfs(Sheets("3G").**Range("F2:F6991")**, Sheets("3G").Range("E2:E6991"), Sheets("Sheet2").Cells(i, 1))
Next i
Next j
但爲什麼當我改變它到:
Sheets("Sheet2").Cells(i, j).Value = Application.WorksheetFunction.SumIfs(Sheets("3G").**Range(Cells(2, 6), Cells(6991, 6))**, Sheets("3G").Range("E2:E6991"), Sheets("Sheet2").Cells(i, 1))
它給了我錯誤:錯誤1004,應用程序定義或定義 - 對象錯誤?
TIA
什麼是**呢? – useR 2014-10-30 09:06:53