之前做過用用vba來篩選資料,去重的相關工作,但是後面給忘記了,最近需要用到,又重新寫了乙個。鑑於此,還是做乙個歸納,以後再需要的時候也方便一些。
vba主要用在excel中,別的就不說了,只說excel中的情況
乙個是篩重。篩重簡單的說就是將**中的很多重複的資料進行歸納,特別是我們在選型的時候會經常用到。
在我們在設計的時候,會先把按鈕啊、開關之類的先乙個個的寫出來,然後對應每個按鈕選定乙個按鈕的型號,對應每個電機選定電機的型號,這樣的話,在修改和檢視起來就非常簡單。但是在最後下採購單的時候就需要把型號一樣的進行彙總,對同乙個型號的列乙個專案,後面做乙個數量上的累加就行了。比如說,啟動按鈕用的是a型號,停止按鈕用的也是a型號,下採購單的時候,就需要在前面列乙個(名稱:按鈕,型號:a,數量:2)就行了,不用單獨拆出來。
簡要說下具體使用:
第一步,先把需要統計的資料找出來。比如,下面乙個例子:
private
sub commandbutton2_click(
)dim i as
integer
for i =5to
500if sheets("採購清單_test").cells(i, "i") <> "" then
if sheets("採購清單_test").cells(i, "k") = "乙供" then
cells(i,
"d")
= sheets("採購清單_test").cells(i, "i")
cells(i,
"c")
= sheets("採購清單_test").cells(i, "g")
endif
endif
next
endsub
在上面的例子中,就是把《採購清單_test》這個**中k裡面寫的是「乙供」的找出來。當然,我這個**中的k列寫的是這個零件是甲方供貨還是乙方供貨。在這個專案裡面我們是乙方,我們就需要下標註為乙方的採購單。在新的**裡面,d列是將舊**的第i列的資料複製過來,c列是把舊**的g列的資料複製過來。在我的舊**裡面i列是型號,g列是數量。
經過這個程式,我們就把需要採購的東西都篩選到我的新**中了,當然我這個是從第五行開始篩選,一直篩到第五百行,而實際上我的資料不到三百行。
因為從舊**複製過來的資料沒有進行任何處理。所以,在舊**中是屬於甲方供貨的那些行就是空白行,這樣就需要把空白行給剔除掉,讓新的**中的資料從上到下排列。具體的方法如下。
第二步,將複製過來的資料,從上往下乙個挨著乙個排列在一起。
private
sub commandbutton3_click(
)dim i, j, k, l, m, n as
integer
k =5 n =
5for i =5to
500if cells(i,
"d")
<>
""then
cells(k,
"f")
= cells(i,
"d")
cells(k,
"e")
= cells(i,
"c")
k = k +
1end
ifnext
endsub
經過這個過程,每兩行的資料之間就沒有空行了。
第三步,就是對已經篩選出來的資料進行整合了。同樣的型號歸到同一類中。看下面的例子:
private
sub commandbutton1_click(
)dim i, j, k, l, m, n as
integer
k =5
n =5
for i =5to
500 cells(i,
"g")=""
cells(i,
"h")=""
next
for i =5to
500if cells(i,
"f")
<>
""then
m =2for j =5to
500if cells(j,
"g")
= cells(i,
"f")
then
cells(j,
"h")
= cells(j,
"h")
+ cells(i,
"e")
m =1end
ifnext
endif
if m =
2then
cells(n,
"g")
= cells(i,
"f")
cells(n,
"h")
= cells(i,
"e")
n = n +
1 m =
1end
ifnext
endsub
當然,這個例子裡面,就是把相同型號的放到同一行,在數量上面是相同型號的資料的總和。
oracle資料庫查詢去重資料
oracle資料庫查詢重複的資料 1.在日常的使用中,專案中常常會遇到有某乙個字段存在多條重複的資料,但是在查詢的時候我們只需要查詢出一條即可,在查詢oralce的時候可以用 row number over partition by 去重欄位1,去重欄位2 order by 去重欄位1,去重欄位2 ...
初識VBA 用VBA簡單處理excel資料
所有的程式語言都是一樣滴,好喜歡解決問題的工作!雖然現在做的很簡單。開啟excel中使用vba的方法,工具欄 開發工具 vb,這就是個直接可以用的程式設計環境好嘛!然後第一次使用vb語言,用習慣了物件導向語言之後,再用這種過程 括號的語言竟然不習慣了 上學時候學的c語言都還給老師了嘛!悲愴臉 一頓查...
一千萬條資料去重 資料庫資料去重方法
資料庫資料去重方法 在大量資料庫資料處理的時候,發現很多重複項,這些重複項給工作帶來很多不便,那麼,怎麼才能更快的去重呢,有沒有好的資料庫資料去重方法呢,下面給大家推薦幾種資料庫資料去重方法,簡單的了解下吧。假設現在資料庫中有乙個人員表 user 表中包括 主鍵id,姓名 身份證號碼 等字段。由於程...