一、概述
"記錄宏"其實就是將工作的一系列操作結果錄制下來,並命名存儲(相當於VB中一個子程序)。
宏其實就是VBA寫的,但是可以通過錄制的方法制作宏,做好的宏你可以查看相應的VBA語句,從而反過來學習VBA
二、宏在excel中的使用
excel 2016打開“開發工具面板”->“文件”->“選項”->“自定義功能區”->“勾選開發工具”:

打開開發工具,就可以開始錄制與使用宏了。
宏的設置:http://www.office68.com/excel/24532.html
更多基礎概念,參考:https://blog.csdn.net/small_baby01/article/details/22334311
易百教程:https://www.yiibai.com/vba
三、基礎概念
1.工作簿
Workbooks:所有excel當前打開的工作簿(即所有excel文件)
Workbook:Workbooks的成員
ActiveWorkbook:當前工作簿
ThisWorkbook:當前VB正在運行的工作簿
2.工作表
Worksheets:所有工作表。
可以通過下標或者名字引用Worksheet
例如引用第一個:Worksheets(1),最后一個:Worksheets.Count,引用指定的:Worksheets("shee1")
Worksheet:Worksheets的成員
ActiveWorksheet:當前worksheet
3.單元格
Cells:Cells(row,column)代表單個單元格。
例如Cells(1,1),Cells(10,4)分別代表A1,D10
ActiveCell:活動工作簿的活動單元格,或指定工作表的活動單元格
Range:指定區域,例如Range("A1:H8")
或者[A1],[A1:C5]的中括號形式
最頂層的對象是Application,例如要引用一個單元格,可以由頂向下:(當然不用傻傻的每次都這么長,可以引用當前的工作簿不用由頂向下)
Application.Workbooks(“mybook.xls”).Worksheets(“mysheet”).Range(“A1:D10”)
我們可以用:“[A65536].End(xlUp).Row”來表示A列最后一個非空單元格的行號
// 或者count_row_k = Sheets(sti).UsedRange.Rows.Count
ActiveSheet.Cells([A65536].End(xlUp).Row + 1, 1).Value = "張青"
四、helloworld——第一個宏
選中一個單元格,點擊錄制宏:

// 當然,直接通過代碼方式編寫可以點擊最左邊的VB
然后將單元格字體顏色改為紅色,之后停止錄制宏,查看並編輯宏,將宏修改為對當前選中區域的操作
Sub mysub() ' ' mysub 宏 '
'With Selection.Font .Color = -16776961 .TintAndShade = 0
End With
End Sub
調用這個宏可以通過快捷鍵或者點擊宏進行操作,當然可以通過一個按鈕來操作,這樣快捷許多:
插入按鈕並關聯宏:

當然保存時記得保存為帶宏的類型:

這樣以后點擊按鈕就可以操作了:

更多操作實例,參考:http://club.excelhome.net/forum.php?mod=viewthread&tid=470603&page=1#pid3075184
這里我們就知道宏的定義了:Sub開頭,End Sub結尾
