您現在的位置是:首頁 > 棋牌

Excel VBA(5) – 一鍵製作工資條

  • 由 Excel學習世界 發表于 棋牌
  • 2023-01-30
簡介現在點選這個按鈕,效果如下每點選一次,就在第六行插入一次表頭,完全機械執行錄製的動作所以我們要對宏進行後期加工12

工資表如何自動生成工資條

今天教一個 VBA 的經典案例:自動製作工資條。

這也是一個非常實用的案例,掌握了思路,在很多類似場景都能應用,比如隔行插入空行等等。

案例:

以下是原始的工作表,要做成工資條,需要隔行插入表頭,列印後剪下來。

如何能點一下按鍵就自動插入所有表頭?像圖二那樣?

Excel VBA(5) – 一鍵製作工資條

Excel VBA(5) – 一鍵製作工資條

解決方案:

我們剛開始教 VBA 的時候說過,初學者可以先錄製宏,再按需求修改 VBA 程式碼,快速完成程式開發,今天就用這個思路。

1。 點選選單欄的“開發工具”——>“宏”——>“錄製宏”

2。 給宏取名“工資條”——>點選“確定”

Excel VBA(5) – 一鍵製作工資條

Excel VBA(5) – 一鍵製作工資條

3。 選中表頭行 ——>複製——>將滑鼠移至需要插入表頭的行——>右鍵單擊“插入複製的單元格”

Excel VBA(5) – 一鍵製作工資條

Excel VBA(5) – 一鍵製作工資條

4。 停止錄製宏

Excel VBA(5) – 一鍵製作工資條

5。 點選“開發工具”——>“插入”——>“按鈕”

Excel VBA(5) – 一鍵製作工資條

6。 在彈出的指定宏視窗中選擇我們剛才建立的“工資條”宏 ——> 單擊“確定”

7。 將按鈕名稱改為“製作工資條”

Excel VBA(5) – 一鍵製作工資條

Excel VBA(5) – 一鍵製作工資條

8。 選中按鈕 ——>右鍵單擊“指定宏”

9。 在彈出的視窗中選擇“工資條”——>點選“編輯”

Excel VBA(5) – 一鍵製作工資條

Excel VBA(5) – 一鍵製作工資條

10。 在開啟的 VBE 程式碼窗口裡,就可以看到剛才錄製的宏程式碼

我給每一句程式碼後面加入了註釋

VBA 的註釋是以 ‘ 開頭,顏色為綠色

程式碼非常簡單,就是剛才錄製的每一步動作的語言描述

Sub 工資條()

‘ 工資條 Macro

Rows(“4:4”)。Select ‘選中第四行

Selection。Copy ’複製所選區域

Rows(“6:6”)。Select ‘選中第六行

Selection。Insert Shift:=xlDown ’插入複製的區域

End Sub

Excel VBA(5) – 一鍵製作工資條

Excel VBA(5) – 一鍵製作工資條

11。 我們曾經說過,錄製宏只能實現一個動作,無法迴圈呼叫。

現在點選這個按鈕,效果如下

每點選一次,就在第六行插入一次表頭,完全機械執行錄製的動作

所以我們要對宏進行後期加工

Excel VBA(5) – 一鍵製作工資條

12。 在程式碼中加入部分修改,就完成了

Dim i As Long:

宣告變數 i,型別為 Long

其實以本例的資料量來說,定義為 Integer 也足夠了

變數的宣告我們下次會細說

For i = 6 To 200 Step 2:

i 從 6 開始,到 200 結束,步長為 2

因為我們第一次要在第 6 行插入,所以從 6 開始

表格總共 100 行不到,隔行插入表頭後,行數會翻倍,所以總數定為 200

步長 2 相當於 i=i+2,即隔行執行

Rows(i)。Select:

括號裡改用變數 i,即每次選擇第 i 行

配合 for 語句實現迴圈效果

Sub 工資條()

’ 工資條 Macro

Dim i As Long

For i = 6 To 200 Step 2

Rows(“4:4”)。Select ’選中第四行

Selection。Copy ‘複製所選區域

Rows(i)。Select

Selection。Insert Shift:=xlDown ’插入複製的區域

Next

End Sub

Excel VBA(5) – 一鍵製作工資條

14。 現在,按一下按鈕,泡杯茶回來,工資條就做好了。

Excel VBA(5) – 一鍵製作工資條

Top