win7系統(tǒng)下載
當前位置: 首頁 > 硬件軟件教程 > 詳細頁面

Excel VBA(宏)有多強大?

發(fā)布時間:2023-01-22 文章來源:深度系統(tǒng)下載 瀏覽:

辦公軟件是指可以進行文字處理、表格制作、幻燈片制作、圖形圖像處理、簡單數(shù)據(jù)庫的處理等方面工作的軟件。目前辦公軟件朝著操作簡單化,功能細化等方向發(fā)展。辦公軟件的應(yīng)用范圍很廣,大到社會統(tǒng)計,小到會議記錄,數(shù)字化的辦公,離不開辦公軟件的鼎力協(xié)助。另外,政府用的電子政務(wù),稅務(wù)用的稅務(wù)系統(tǒng),企業(yè)用的協(xié)同辦公軟件,這些都屬于辦公軟件。

  excel為提供了很多好用的功能和函數(shù),但還是有很多工作無法用現(xiàn)有功能和函數(shù)批量完成,比如多個excel表格的合并與拆分,而借助VBA語言編寫的宏代碼,這些看似無法批量處理或無法完成的事情,瞬間變得只是小菜一碟,也許你不懂VBA,也建議先收藏起來這些代碼備用。

  (第1個示例中,演示了VBA代碼的使用方法,后面示例均和第1個類似,不再具體演示)

  1、一次取消所有工作表的隱藏

  Excel可以一次隱藏多個工作表,但取消工作表隱藏卻需要一個個的設(shè)置,用VBA編寫一段代碼,一秒完成!

  注意

  要想使用VBA功能,需要把代碼粘貼到添加的模塊中,詳見動畫演示

  要想保存VBA代碼,需要把文件另存為xlsm格式文件,詳見動畫演示

  動畫演示:

Excel VBA(宏)有多強大? 三聯(lián)

  代碼:

  Sub 取消隱藏()

  For x = 1 To Sheets.Count

  If Sheets(x).Name <> "總表" Then

  Sheets(x).Visible = -1

  End If

  Next x

  End Sub

  Sub 隱藏()

  For x = 1 To Sheets.Count

  If Sheets(x).Name <> "總表" Then

  Sheets(x).Visible = 0

  End If

  Next x

  End Sub

  2、根據(jù)模板批量生成日報表

  根據(jù)模板批量生成報表,沒什么好方法,只能一個一個的復(fù)制然后修改名稱。但這對VBA來說,只需點一下按鈕即可瞬間完成。

Excel VBA

  代碼:

  Sub 生成報表()

  Dim x As Integer

  Dim sh As Worksheet

  For x = 1 To 31

  Set sh = Sheets.Add

  With sh

  .Name = x & "日"

  Sheets("日報模板").Range("1:15").Copy sh.Range("A1")

  End With

  Next x

  End Sub

  3、拆分工作表為單獨的excel文件

  把當前excel文件中除第1個工作外的所有工作表,均保存為單獨的excel文件到3月文件夾中。

  拆分演示(在拆分過程中會畫面會停幾秒,請耐心等待)

Excel VBA

  代碼:

  Sub 拆分表格()

  Dim x As Integer

  Dim wb As Workbook

  Application.ScreenUpdating = False

  For x = 2 To 32

  Sheets(x).Copy

  Set wb = ActiveWorkbook

  With wb

  .SaveAs ThisWorkbook.Path & "/3月/" & Sheets(x).Name & ".xlsx"

  .Close True

  End With

  Next x

  Application.ScreenUpdating = True

  End Sub

  4、合并多個Excel文件工作表到一個文件中

  3月文件夾下有N張報表,要求把該文件夾中所有excel文件的第1個工作表合并到當前的excel文件中,以單獨的工作表存放。

Excel VBA

  代碼:

  Sub 合并表格()

  Dim mypath As String

  Dim f As String

  Dim ribao As Workbook

  Application.ScreenUpdating = False

  mypath = ThisWorkbook.Path & "/3月/"

  f = Dir(ThisWorkbook.Path & "/3月/*.xlsx")

  Do

  Workbooks.Open (mypath & f)

  With ActiveWorkbook

  .Sheets(1).Move after:=ThisWorkbook.Sheets(Sheets.Count)

  End With

  f = Dir

  Loop Until Len(f) = 0

  Application.ScreenUpdating = True


硬件是實在的,有模有樣的。軟件是程序性的。是一系列的指令。有了軟件,硬件才會實現(xiàn)更豐富的功能。

本文章關(guān)鍵詞: Excel 有多 強大