Excel VBA 實(shí)例(15) - 按指定字段一鍵篩選并取最低價(jià)記錄

這兩天幫后臺(tái)伙伴解決了一個(gè)excel的問題,感覺普遍性比較大刹帕,和各位分享一下渊涝。

問題需求

這位伙伴應(yīng)該是在公司里干采購的,經(jīng)常要在excel表里記錄非常多的采購信息砍鸠,包括采購產(chǎn)品扩氢、型號耕驰、時(shí)間爷辱、價(jià)格等等,如下圖:

她的需求:1、輸入產(chǎn)品的采購編碼饭弓,一點(diǎn)擊按鈕双饥,采購的記錄就全部篩選出來;2弟断、篩選出來的記錄中咏花,再選出價(jià)格最小的記錄。

這個(gè)需求阀趴,其實(shí)直接通過“數(shù)據(jù)”-“篩選”-選中需要的編碼即可昏翰。

但是數(shù)據(jù)量大、經(jīng)常要操作的的時(shí)候刘急,如果每個(gè)產(chǎn)品采購編碼都要去這樣操作一遍棚菊,然后再篩選,復(fù)制叔汁,粘貼统求,確實(shí)很占用時(shí)間。

所以才會(huì)考慮用VBA來解決這個(gè)問題据块。

需求分析

假設(shè)存放數(shù)據(jù)記錄的表格稱sheet1码邻,篩選出來的記錄放在sheet2,思路其實(shí)也簡單:1另假、在sheet1中每一行都檢查一遍像屋,符合條件的編碼就把這條記錄復(fù)制到sheet2中;2边篮、sheet1全部檢查完之后开睡,開始在sheet2中檢查價(jià)格一欄,選出最小價(jià)格苟耻,將改行的記錄再篩選出來即可篇恒。

說起來簡單,需要攢代碼的時(shí)候凶杖,就要格外的細(xì)心和仔細(xì)胁艰。

這里把其中主要涉及到的問題細(xì)節(jié)詳細(xì)說一下:

1、如何檢查每一行智蝠?

這個(gè)簡單腾么,標(biāo)記好開頭和結(jié)束位置,然后設(shè)置循環(huán)杈湾。例如解虱,有多少行就循環(huán)幾次。

a?=?Sheet1.[A65536].End(xlUp).Row?'結(jié)束行
First?=?2?'開始行
Last?=?a?
For?i?=?Last?To?First?Step?-1??'設(shè)置每一行檢查一次
......
Next

2漆撞、如何判斷編碼是否相同殴泰,然后復(fù)制于宙?

If?Sheet1.Cells(i,?1)?=?Sheet2.Cells(1,?12)?Then
'判斷Sheet1的編碼是否和sheet2中需要找的一樣
???Sheet1.Range(Sheet1.Cells(i,?1),?Sheet1.Cells(i,?9)).Copy?Sheet2.Cells(count,?1)
???'如果一樣,則整條記錄復(fù)制過去
???count?=?count?+?1?
???'sheet1中每找到一條記錄悍汛,就在Sheet2里添加一條
End?If

3捞魁、如何選出價(jià)格一欄中最小價(jià)格?

IF...
Set?rng?=?Range(Sheet2.Cells(First1,?7),?Sheet2.Cells(Last1,?7))
'選定價(jià)格區(qū)域
min?=?rng.Find(Application.min(rng))'價(jià)格最小值
min_row?=?rng.Find(Application.min(rng)).Row'價(jià)格最小值所在行

主要是上面三個(gè)問題离咐,組合起來用即可谱俭。

演示一下:

怎么樣,是否感覺非诚快捷省事昆著?

完整代碼有點(diǎn)多了,就不貼了术陶。有需要的話wx公號后臺(tái)回復(fù)“實(shí)例15”即可

不少人對VBA代碼有抵觸心理宣吱,其實(shí)沒有那么復(fù)雜,把他看成一個(gè)稍微復(fù)雜點(diǎn)的函數(shù)即可瞳别。

當(dāng)然如果并不打算深入學(xué)習(xí)VBA征候,只是臨時(shí)使用下,那只要會(huì)復(fù)制黏貼就好了祟敛!

至于怎么用VBA代碼疤坝,可以參考之前的文章:

Excel vba 實(shí)例(1) - 批量制作工資表頭

Excel vba 實(shí)例(2) - 批量將工作表拆分為單獨(dú)文件

Excel vba 實(shí)例(3) -?多個(gè)工作簿批量合并

Excel vba 實(shí)例(4) - 根據(jù)已有名稱,批量新建表格

Excel vba 實(shí)例(5) - 快速合并n多個(gè)相同值的單元格

Excel vba 實(shí)例(6) - 一鍵匯總多個(gè)sheet數(shù)據(jù)到總表

Excel vba 實(shí)例(7)-一鍵批量打印工作簿

Excel vba 實(shí)例(8)- 利用正則表達(dá)式進(jìn)行定向提取

Excel vba 實(shí)例(9)- 批量插入馆铁、刪除表格中的空行

Excel vba 實(shí)例(10)- 統(tǒng)計(jì)同一列中出現(xiàn)次數(shù)并標(biāo)注

Excel vba 實(shí)例(11)- 拆分單元格并自動(dòng)填充

Excel vba實(shí)例(12)-如何合并多個(gè)單元格而不丟失單元格的數(shù)據(jù)跑揉?

Excel vba實(shí)例(13) - 自動(dòng)生成序號、一鍵排版(列寬埠巨、行高自適應(yīng)等)

Excel VBA 實(shí)例(14) - 依據(jù)指定單元格的值历谍,復(fù)制并插入相同數(shù)量的行


歡迎交流!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末辣垒,一起剝皮案震驚了整個(gè)濱河市望侈,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌勋桶,老刑警劉巖脱衙,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異例驹,居然都是意外死亡捐韩,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進(jìn)店門鹃锈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來荤胁,“玉大人,你說我怎么就攤上這事屎债〗稣” “怎么了垢油?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長已旧。 經(jīng)常有香客問我,道長召娜,這世上最難降的妖魔是什么运褪? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮玖瘸,結(jié)果婚禮上秸讹,老公的妹妹穿的比我還像新娘。我一直安慰自己雅倒,他們只是感情好璃诀,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蔑匣,像睡著了一般劣欢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上裁良,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天凿将,我揣著相機(jī)與錄音,去河邊找鬼价脾。 笑死牧抵,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的侨把。 我是一名探鬼主播犀变,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼秋柄!你這毒婦竟也來了获枝?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤骇笔,失蹤者是張志新(化名)和其女友劉穎映琳,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蜘拉,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡萨西,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了旭旭。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谎脯。...
    茶點(diǎn)故事閱讀 39,696評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖持寄,靈堂內(nèi)的尸體忽然破棺而出源梭,到底是詐尸還是另有隱情娱俺,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布废麻,位于F島的核電站荠卷,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏烛愧。R本人自食惡果不足惜油宜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望怜姿。 院中可真熱鬧慎冤,春花似錦、人聲如沸沧卢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽但狭。三九已至披诗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間立磁,已是汗流浹背藤巢。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留息罗,地道東北人掂咒。 一個(gè)月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像迈喉,于是被迫代替她去往敵國和親绍刮。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 后臺(tái)最近有朋友留言說挨摸,經(jīng)常會(huì)有好多excel工作簿要打印孩革,挨個(gè)點(diǎn)擊打開,然后選擇打印非常的麻煩得运。有沒有辦法可以用v...
    永恒君的百寶箱閱讀 15,562評論 13 1
  • 自從2014年開通[完美Excel]微信公眾號以來膝蜈,堅(jiān)持分享已經(jīng)學(xué)習(xí)到的Excel和VBA知識和心得,目前已分享文...
    完美Excel閱讀 8,305評論 6 69
  • 1.1 VBA是什么 直到90年代早期,使應(yīng)用程序自動(dòng)化還是充滿挑戰(zhàn)性的領(lǐng)域.對每個(gè)需要自動(dòng)化的應(yīng)用程序,人們不得...
    浮浮塵塵閱讀 21,741評論 6 49
  • 本例為設(shè)置密碼窗口 (1) If Application.InputBox(“請輸入密碼:”) = 1234 Th...
    浮浮塵塵閱讀 13,646評論 1 20
  • 這一章中我們來學(xué)習(xí)如何使多個(gè)進(jìn)程間有效地通信熔掺。由于這些通信方式中很多都基于文件等持久存儲(chǔ)饱搏,我們將從基本的 I/O ...
    夏威夷的芒果閱讀 190評論 0 0