《跟着王老师学Excel VBA》的笔记
生活随笔
收集整理的這篇文章主要介紹了
《跟着王老师学Excel VBA》的笔记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
先安利一款VBA的IDE(VBA代碼寶): https://charltsing.lanzous.com/ic9qvzi
一、基礎語法
'創建子程序 sub abc() ..... end sub'程序調用 call abc '注意:不用加括號'定義自變量的類型 Dim i=.... 'For循環 for i = 1 to 5 Step 2 'Step定義步長 ... Next '循環結構(循環五次)'IF判斷語句 If ... then '如果...那么 ... '... else '否則 ... '.... End If '切勿忘記End If'多重判斷 If Range("a" & i) = "理工" Then Range("b" & i) = "LG" ElseIf Range("a" & i) = "文科" Then '再如果...那么 Range("b" & i) = "WK" '.... Else Range("b" & i) = "CJ" End If '使用IF語句,控制For循環 If Range("a" & i) = "" ThenExit For '退出For循環 End If- 刪表格時,從下往上刪,可避免錯誤。
- ElseIf 可多次使用
- 單元格的表示與操作
二、Worksheets(工作表)對象
- ‘Sheets.Count’ 的差異
三、Workbooks(工作簿)對象
1.順序循環每個單元格(For Each)
Dim rng As Range '定義rng為單元格變量 Dim x As Integer '注意x是初始值是 0 !!! For Each rng In Range("a1:a10") 'rng的范圍為A1至A10的每一個單元格x = x + 1rng=x 'x順序給A1至A10的每一個單元格(rng)賦值 Next2.順序循環每個工作表
Dim sht As Worksheet '定義sht為工作表變量 Application.DisplayAlerts = False '關閉警告 For Each sht In Sheets If sht.Name <> "小驢嗷嗷叫" Then '如果單元格名稱不等于“小驢嗷嗷叫”,則sht.Delete '刪除單元格(sht)End If Next Application.DisplayAlerts = True3.工作簿的打開、操作、保存與關閉
Application.ScreenUpdating = False '關閉屏幕刷新 Application.DisplayAlerts = False '關閉警告Workbooks.Open Filename:="d:\小驢\嗷嗷叫.xlsx" '打開EXCEL文件ActiveWorkbook.Sheets(1).Range("a1") = "五一學習VBA" '向當前文件中寫入ActiveWorkbook.Save '保存ActiveWorkbook.Close '關閉 Application.DisplayAlerts = True '開啟警告 Application.ScreenUpdating = True '開啟屏幕刷新4.新建工作表
Workbooks.Add ActiveWorkbook.Sheets(1).Range("a1") = "五一學習VBA" ActiveWorkbook.SaveAs Filename:="d:\小驢\嗷嗷叫.xlsx" '將工作薄保存到 d:\小驢,并命名為 嗷嗷叫.xlsx ActiveWorkbook.Close- 注意:執行Sheet1.copy(復制工作表1)時,VBA會自動新建一個工作薄,然后將復制的Sheet1粘貼過去。
5.拆分工作薄
Dim sht As Worksheet For Each sht In Sheetssht.Copy '復制工作表ActiveWorkbook.SaveAs Filename:="d:\小驢\" & sht.Name & ".xlsx" '保存ActiveWorkbook.Close '關閉 Next6.新建表(避免重名)----第6課
Dim sht As Worksheet Dim k As IntegerFor i = 1 To 3k = 0 '每次循環后,再重新定義K為0For Each sht In SheetsIf sht.Name = Sheet1.Range("a" & i) Thenk = 1End IfNextIf k = 0 ThenSheets.Add after:=Sheets(Sheets.Count)Sheets(Sheets.Count).Name = Sheet1.Range("a" & i)End IfNext7.VBA的輸入框
i = InputBox("請輸入你要按哪列分") '將用戶的輸入值賦給i8.VBA的消息提示框
MsgBox "小驢嗷嗷叫"七、VBA事件與典型應用案例
With sheet2.range("a1").range("a3") End With '上下兩端代碼意義相同,此即為With語法的作用 sheet2.range("a1") sheet2.range("a3")1.對齊方式
2.字體格式
3.工作簿事件
4.工作表事件
復試已過,繼續VBA
八、在VBA中使用公式
總結
以上是生活随笔為你收集整理的《跟着王老师学Excel VBA》的笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 过滤钩子驱动程序一(微软DDK文档,FL
- 下一篇: 分布式数据复制技术