着急的 玩家 可以 跳過“============”部分
======================================可以跳過的 部分 開始======================================================
之所以 要有今天這樣一篇博客是因為。
之前領導讓找幾組數據。從excel表格里面。
要求是 主號碼 一致,副號碼 一致,名稱為 XXX 的 項目發生變化的數據 需要被找到。
這樣的 項目 有 11個。
我找的真的是眼要花。
變動前一個表格 (命名為A),變動后一個表格(命名為B)。
數據的體量是 6w+條數據*180列。
我的做法是,利用 過濾器,找到 XXX項目 變化前的值 在表格A中。(好在 這11個項目,每個項目中的數據的種類都很少,最多的也不過22個。六萬條數據能只有22個可能值還真的是挺幸福的。)
然后找到 其對應的 主號碼。
然后 找到 XXX項目變化后的值,在 表格B中。假設數據沒有發生變化,去重之后,兩個表格數據中的值應該是一樣的。
反之如果 數據發生了變化,那么 表格B中的值一定比A中的值多。
這樣找到B的值,主號碼 跟 副號碼 提取出來就可以了。
(領導要做的是,找到 一組就可以。)
那么這一組一定是。
(TODO可以再加一步驗證。)
還有什么可能性?!~
假設等值變換。假設變換前的數據集里面有 123,變化后的數據集里面也只有123.我們能肯定地說,沒有數值變化么!?~
不能,有可能有一條數據從 1 變成了 1以外的數據(比如變成了2或者變成了3)。
於是當時 我就 在 反復的 做這樣的工作。
找到XXX項目,找到變化前的項目的值 x,然后 得到他的 主副號碼,然后 找到 XXX項目 在 表格B中 x以外的值, 然后得到他的主副號碼。
如果 主副號碼發生了重疊。說明 我找到了一條 希望的數據。
==========================================可以跳過的部分結束===================================================================
算法有了,但是 編程 還差點兒火候。。。沒用過 VBA。
所以 說起來 好像 挺有意思的。但是 我連很多基本操作都不會。
所以,這個算是啟用VBA的引子。
先寫幾個 小東西 熱熱手吧~~~
比如~~~最經典的 ~~~我們 先寫一個 計算器~~~
哈哈哈~~~
計算器 寫的 最多。
因為 計算器 用來 交互,算是 最簡單也 最核心的項目了。而且 可以 反復 練習。
哦!之所以 能寫,還是因為現在 wps也支持 VBA編程了!!!!以前只有 microsoft支持,所以國內的 小伙伴 幾乎 都不太用 這個 工具的。
但是 現在 到了 日本,尤其是 大公司,限制還多的不行。下載個什么小工具 小抄件都得請示。賊煩。
表格 操作 有賊多。。。所以 ,算是個 雙向選擇吧~~~
那就 閑言少敘開始吧~~~
打開一個EXCEL。
1、建立我們最起始的布局。
2、利用EXcel內置的插入功能,拖出一個矩形框。
3、右鍵矩形圖片,單擊 指定宏。
4、然后 再彈出的對話框中點擊,新建 按鈕。
5、之后會有一個 VBA專用道編輯界面。
6、進行代碼編輯。
7,試運行。
8,點擊按鈕,運行。
9,運行結果
10,為這個圖形添加,文字說明。
11,最后,但也是最重要的 一步,保存成支持宏的 excel。(xlsm格式)
如此 便開發完成了。
下一個 文檔將 實現,加減乘除功能。除法里面,當然有我們熟悉的,不能出現“0”,到時候的 對話框按鈕,我們也將一起學習。
代碼 樣例:
Sub 矩形1_Click() ' ' 矩形1_Click Macro ' 代碼編輯 Dim number1 As Integer Dim number2 As Integer number1 = Cells(5, 4) number2 = Cells(6, 4) Cells(7, 4) = number1 + number2 End Sub