返回列表 上一主題 發帖

[發問] Excel VBA以定義過的WorkSheet搭配Excel一般函數

目前用到兩個寫法
第一個是用VBA的Application.Function,但效率較差
Dim x1Row As Integer
For x1Row = 11 To sh1.Range("D65536").End(xlUp).Row
    Cells(x1Row, 5).Value = Application.CountIf(sh1.Range("C:C"), Cells(x1Row, 4))
Next x1Row

第二個則是用字串的方式,寫法較複雜,但效率高了10倍以上
需留下 '[Workbook]Worksheet!'的 ' [ ] ! '的符號才不會出錯
Cells( 11, 5).Formula = "=IF(D11="""","""",COUNTIF('[" & wb1.Name & "]" & sh1.Name & "'!$CC,D11))"
Range("E11").AutoFill Destination:=Range("E11:E" & [E65536].End(1).Row)

TOP

        靜思自在 : 發脾氣是短暫的發瘋。
返回列表 上一主題