电竞比分网-中国电竞赛事及体育赛事平台

分享

【整理】VBA學習筆記(25)工作表函數(shù)和VBA,對EXCEL對象的不同引用寫法

 hdzgx 2019-11-05

1 工作表函數(shù) 對 EXCEL對象的引用語法

 

1.1 同一個sheet里

  • 在同一個sheet里
  • cell  range  row  column 層面,一般用冒號:如SUM(A:A)
  • 引用 平行的多個對象,一般用逗號,如 =SUM(A1,B1,G1)
  •  

1.2 跨同1個workbooks的sheets

  • 跨sheet,用 sheet名+感嘆號
  • 這里的sheet名,就是sheet的直接看到的顯示名。(= VBA的sheet名,而不是codename!!!)
  • 語法如=SUM(Sheet2!A1:A17)

 

1.3 跨多個workbooks

  • 啥時候是有帶絕對路徑的?
  • 跨多個 workbooks 
  • 第1部分:文件的絕對路徑,用單引號  ' '  括起來 ,一直括到完整的路徑,到workbooks.worksheet 全括起來 
  •                 比如  'E:\最近文件\文件1\[Resource.xlsx]ResInfo'
  • 第2部分:[workbook的顯示名] 
  • 第3部分:sheet名字+!
  • =SUM([測試200.xlsx]Sheet1!$A$1:$A$5)
  • 'E:\最近文件\文件1\[Resource.xlsx]ResInfo'!$2:$2

 

2 VBA里對EXCEL對象標準寫法

2.1 標準寫法

  • 標準寫法:Application.workbooks().worksheets().range().value
  • 當然這內(nèi)部符號VBA的語法都算,比如 worksheets() 可以替換為  sheet1 或 sheets(1)等寫法

 

2.2 最簡單寫法

  • 最簡寫法:但不支持任何變量
  • 寫法就是 EXCEL寫法,外面加 [ ]
  • 千萬不要混用,外面是[] 里面是純excel寫法
  • [b1]=[sum(a1:a10)]
  •  
  1. Sub test1002()
  2. [h1] = [sum(a1:a10)]
  3. End Sub

 

2.3 混合型寫法--錯誤

混合型

EXCEL的部分加引號   ""

 

2.4 部分拼接的寫法是OK的

  • 不支持混用,只支持部分拼接的生效
  • 外面的部分用VBA語法
  • 里面“”部分用excel語法
  • 拼接的寫法是OK的,下面這兩種拼接都是等價的

       sheet1.range("a1:a10")
       range("sheet1!A1:A10")

 

  1. Sub test1002()
  2. Debug.Print [sum(a1:a10)]
  3. Debug.Print WorksheetFunction.Sum(Range("sheet3!a1:a10"))
  4. Debug.Print WorksheetFunction.Sum(Range("[cs100.xlsx]sheet3!a1:a10"))
  5. End Sub

 

range("a1:a10")  等價 [a1:a10]


 

 

 

 

3 實測

 

實測

  • msgbox(Application)
  • application.worksheetfunction.counta(range("a:a"))
  • application.sum(range("a:a"))
  • application.sum([a;a])

錯誤寫法

  • application.worksheetfunction.counta(a:a)
  • application.worksheetfunction.counta("a:a")
  • application.sum(a;a)
  • application.sum("a;a")

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多