一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

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

 leafcho 2021-02-06

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

我們直接通過案例來學(xué)習(xí)公式在vba中的使用

題目:

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

分析:

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

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

  • vba調(diào)用工作表函數(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列中查找該準(zhǔn)考證號學(xué)生的姓名Sheet1.Range('d14') = Application.WorksheetFunction.VLookup(Sheet1.Range('d9'), Sheets(i).Range('a:h'), 5, 0)'在A到H列中查找該準(zhǔn)考證號學(xué)生的性別Sheet1.Range('d16') = Application.WorksheetFunction.VLookup(Sheet1.Range('d9'), Sheets(i).Range('a:h'), 6, 0)'在A到H列中查找該準(zhǔn)考證號學(xué)生的專業(yè)Sheet1.Range('d18') = Application.WorksheetFunction.VLookup(Sheet1.Range('d9'), Sheets(i).Range('a:h'), 3, 0)'在A到H列中查找該準(zhǔn)考證號學(xué)生的總分(原始分)Sheet1.Range('d20') = Application.WorksheetFunction.VLookup(Sheet1.Range('d9'), Sheets(i).Range('a:h'), 8, 0)'查找到數(shù)據(jù)的表名也就是學(xué)生所在地區(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)下面功能(當(dāng)然工作表mid函數(shù)也能完成)

用法:

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

  • 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', '@')

總結(jié):

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

每天學(xué)一點,薪資翻一番??戳诉@篇文章覺得對你有用的話,關(guān)注我的公眾號“學(xué)會數(shù)據(jù)分析”并且用你的小手幫忙分享一下,我會經(jīng)常總結(jié)一些案例和大家一些分享。

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产激情一区二区三区不卡| 亚洲国产成人一区二区在线观看| 日韩人妻少妇一区二区| 久久精品国产99国产免费| 欧美黑人暴力猛交精品| 欧美大粗爽一区二区三区| 国产老女人性生活视频| 国产一区二区精品高清免费| 精品久久久一区二区三| 日韩一区二区免费在线观看| 国产熟女一区二区不卡| 亚洲一区二区三区中文久久 | 欧美一级黄片欧美精品| 亚洲人午夜精品射精日韩| 国产传媒高清视频在线| 国产精品一区二区传媒蜜臀| 91播色在线免费播放| 日韩少妇人妻中文字幕| 国产在线日韩精品欧美| 中文字幕有码视频熟女| 少妇被粗大进猛进出处故事| 亚洲中文字幕亲近伦片| 东京热加勒比一区二区三区| 国产一二三区不卡视频| 中国黄色色片色哟哟哟哟哟哟| 亚洲一区二区亚洲日本| 国产精品蜜桃久久一区二区| 激情爱爱一区二区三区| 四季av一区二区播放| 一区二区三区四区亚洲专区| 欧美日韩国产精品第五页| 国产又大又猛又粗又长又爽| 亚洲天堂男人在线观看| 中文字幕在线五月婷婷| 女同伦理国产精品久久久| 国产性情片一区二区三区| 国产精品一级香蕉一区| 欧美午夜伦理在线观看| 国产户外勾引精品露出一区| 日韩欧美综合在线播放| 亚洲视频一区二区久久久|