小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Excel中你學(xué)什么都可以,千萬(wàn)別學(xué)“宏”!

 撥絲留其產(chǎn) 2016-03-20

蘭色曾對(duì)很多Excel技巧和函數(shù)高手說(shuō),千萬(wàn)別學(xué)宏。因?yàn)橐坏?ài)上宏編程,Excel圈里很快就會(huì)少了一個(gè)技巧或函數(shù)高手!Why? 耐心看下去你就會(huì)明白。


一、什么是?


先舉個(gè)例子:


Excel有一個(gè)任務(wù):在C列值的基礎(chǔ)上加上B列的值。

  1. 選取B列并復(fù)制

  2. 選取C列右鍵 - 選擇性粘貼 - 加

完成!



如上,你在Excel中進(jìn)行的一系列的操作過(guò)程,就是一個(gè)宏。操作過(guò)程(宏)可以是一步也可以是若干步,使用一個(gè)Excel命令或多個(gè)Excel命令。


宏,我們也可以看成是一個(gè)個(gè)可以完成特定目標(biāo)的功能


二、為什么學(xué)習(xí)宏?


Excel提供了很多功能,可以完成各種操作。篩選數(shù)據(jù)有自動(dòng)篩選和高級(jí)篩選,匯總數(shù)據(jù)有分類(lèi)匯總、數(shù)據(jù)透視表等.......



但....還是有Excel無(wú)能為力的時(shí)候。比如:

  • 批量取消工作表隱藏

  • 批量合作多個(gè)工作表或Excel文件

  • 批量......


有難題就需要有解決辦法,怎么辦,怎么辦? 


有辦法。就是Excel中沒(méi)有的功能,我們自已添加,也就是我們自已編寫(xiě)可以完成指定功能的。就象Excel內(nèi)置功能一樣,可以供我們隨時(shí)使用。


三、怎么編寫(xiě)宏


有一種語(yǔ)言,它的名稱(chēng)叫VBA(visual baisic for application),它是Excel所支持的開(kāi)發(fā)語(yǔ)言,也就是說(shuō),我們可以用VBA語(yǔ)言來(lái)編寫(xiě)我們需要的功能(),除此之外,我們還可以用VBA來(lái)編寫(xiě)Excel函數(shù)。


四、在哪編寫(xiě)宏


有一個(gè)窗口,都叫它VBE編輯器。你可以在工作表標(biāo)簽上右鍵菜單中點(diǎn)擊”查看代碼“,就可以打開(kāi)它。更多的是我們通過(guò)”開(kāi)發(fā)工具“選項(xiàng)卡打開(kāi)這個(gè)界面。




需要什么功能,就可以編寫(xiě)什么功能,需要什么函數(shù),就可以編寫(xiě)什么函數(shù),工作中再也沒(méi)有我們完不成的任務(wù)。


還有什么理由可以讓我們不向往強(qiáng)大的宏編程VBA語(yǔ)言),這也可以解釋?zhuān)瑸槭裁春芏嗪瘮?shù)高手放棄讓人炫暈的Excel數(shù)組公式學(xué)習(xí),技巧高手放棄繁雜的內(nèi)置功能研究了。




附:蘭色最近寫(xiě)的幾段常用VBA代碼


1、禁止插入工作表

Private Sub Workbook_NewSheet(ByVal Sh As Object)

  MsgBox '本工作簿禁止插入新工作表'

  Application.DisplayAlerts = False

   Sh.Delete

  Application.DisplayAlerts = True

End Sub


2、禁止打開(kāi)Excel文件

Private Sub Workbook_BeforePrint(Cancel As Boolean)

 MsgBox '此excel文件禁止打印,如需打印請(qǐng)與管理員聯(lián)系'

 Cancel = True

End Sub


3、在VBA中調(diào)用Vlookup和Sumif函數(shù)

    Sub 調(diào)用1()

    Dim arr, arr1

      arr = Range('a2:d6')

      arr1 = Application.VLookup(Array('B', 'C'), arr, 4, 0)

    End Sub

     Sub 調(diào)用2()

     Dim T

     T = Timer

       Dim arr

       arr = Application.SumIf(Range('a2:a10000'), Array('B', 'C', 'G', 'R'), Range('B2:B10000'))

     MsgBox Timer - T

     Stop

     End Sub


4、批量取消工作表隱藏

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

5、拆分表格成單獨(dú)的Excel文件


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


6、合并多個(gè)Excel文件到一個(gè)Excel中

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

End Su


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多