九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
在excel中使用vba實現(xiàn)查詢、統(tǒng)計系統(tǒng)

excel里面有很多強大的公式,可以快速實現(xiàn)我們想要的結果。如果在vba中可以使用公式,可以大大減少編碼,提升工作效率!這么強悍的功能讓我們一起學習一下吧!

我們直接通過案例來學習公式在vba中的使用

題目:

實現(xiàn)多個工作表數(shù)據(jù)的查詢,統(tǒng)計功能,如下圖:

分析:

  • 在一個表里面的查詢統(tǒng)計只需要用到count,vlookup函數(shù)即可完成,我們這里有多張表需要循環(huán)查找,所以要通過vba實現(xiàn)

  • 上面查詢和統(tǒng)計是兩個按鈕,所以要分成兩個宏來寫

  • vba調用工作表函數(shù)的方法:Application.WorksheetFunction.公式

代碼:

  1. '統(tǒng)計部分代碼
  2. Sub tongji()
  3. Dim i, k, l, m As Integer
  4. For i = 2 To Sheets.Count
  5.     '累加每張表A列非空單元格的個數(shù)
  6. k = k + Application.WorksheetFunction.CountA(Sheets(i).Range('a:a')) - 1
  7. '累加每張表F列為“男”的單元格的個數(shù)
  8. l = l + Application.WorksheetFunction.CountIf(Sheets(i).Range('f:f'), '男')
  9. '累加每張表F列為“女”的單元格的個數(shù)
  10. m = m + Application.WorksheetFunction.CountIf(Sheets(i).Range('f:f'), '女')
  11. Next
  12. '將所有表A列單元格的總計賦值給統(tǒng)計工作表的“d26”單元格
  13. Sheet1.Range('d26') = k
  14. '將所有表F列為“男”單元格的總計賦值給統(tǒng)計工作表的“d27”單元格
  15. Sheet1.Range('d27') = l
  16. '將所有表F列為“女”單元格的總計賦值給統(tǒng)計工作表的“d28”單元格
  17. Sheet1.Range('d28') = m
  18. End Sub
'查詢部分代碼Sub chaxun()'如果出現(xiàn)錯誤繼續(xù)向下執(zhí)行,防止程序崩潰On Error Resume Next'執(zhí)行查詢前清空數(shù)據(jù),防止沒找到查詢數(shù)據(jù),上條數(shù)據(jù)信息仍在Sheet1.Range('d14').ClearContentsSheet1.Range('d16').ClearContentsSheet1.Range('d18').ClearContentsSheet1.Range('d20').ClearContentsSheet1.Range('d22').ClearContentsFor i = 2 To Sheets.Count'在A到H列中查找該準考證號學生的姓名Sheet1.Range('d14') = Application.WorksheetFunction.VLookup(Sheet1.Range('d9'), Sheets(i).Range('a:h'), 5, 0)'在A到H列中查找該準考證號學生的性別Sheet1.Range('d16') = Application.WorksheetFunction.VLookup(Sheet1.Range('d9'), Sheets(i).Range('a:h'), 6, 0)'在A到H列中查找該準考證號學生的專業(yè)Sheet1.Range('d18') = Application.WorksheetFunction.VLookup(Sheet1.Range('d9'), Sheets(i).Range('a:h'), 3, 0)'在A到H列中查找該準考證號學生的總分(原始分)Sheet1.Range('d20') = Application.WorksheetFunction.VLookup(Sheet1.Range('d9'), Sheets(i).Range('a:h'), 8, 0)'查找到數(shù)據(jù)的表名也就是學生所在地區(qū)Sheet1.Range('d22') = Sheets(i).Name'查到了,就退出循環(huán)If Sheet1.Range('d14') <> '' ThenExit ForEnd IfNextEnd Sub

上面我們用到的是工作表函數(shù),vba也有自己的函數(shù),下面一起來看兩個簡單的小例子!

例1:

利用vba的split函數(shù)實現(xiàn)下面功能(當然工作表mid函數(shù)也能完成)

用法:

  • Split('pw-023-2015-37-001', '-')就是將字符串'pw-023-2015-37-001'以 '-'為分隔符分割。結果會得到一個數(shù)組,下標從零開始。

  • Split('pw-023-2015-37-001', '-')(0)就是取第1個數(shù)據(jù)pw

  • Split('pw-023-2015-37-001', '-')(1)就是取第2個數(shù)據(jù)023

  • Split('pw-023-2015-37-001', '-')(2)就是取第3個數(shù)據(jù)2015

代碼:

Sub tiqu()On Error Resume NextFor i = 2 To Sheet2.Range('a65536').End(xlUp).Row    Sheet2.Range('b' & i) = Split(Sheet2.Range('a' & i), '-')(2) & '年 第' & Split(Sheet2.Range('a' & i), '-')(3) & '周'NextEnd Sub例2:查找郵箱zhangsan@163.com  中@在第幾位 用法:InStr('zhangsan@163.com', '@')

總結:

這個案例我們用到了三個工作表函數(shù)公式CountA,CountIf,VLookup和兩個vba函數(shù)Split,instr.不熟練的小伙伴趕快去學習一下,后面我會整理一份excel和vba的函數(shù)供小伙伴參考。

每天學一點,薪資翻一番。看了這篇文章覺得對你有用的話,關注我的公眾號“學會數(shù)據(jù)分析”并且用你的小手幫忙分享一下,我會經(jīng)??偨Y一些案例和大家一些分享。

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Excel 如何在VBA中使用VLOOKUP函數(shù)?
VLOOKUP函數(shù)在VBA中的使用
Application.WorksheetFunction.VLookup()或者Application.VLookup()
Vba菜鳥教程[通俗易懂]
【整理】VBA學習筆記(25)工作表函數(shù)和VBA,對EXCEL對象的不同引用寫法
VBA: 將數(shù)組輸出到工作表
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服