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

分享

vba基礎(chǔ) 個(gè)人學(xué)習(xí)詳細(xì)筆記 知識(shí)點(diǎn)梳理

 成已成物 2022-05-08 發(fā)布于湖南省

孤獨(dú)寧?kù)o

vba基礎(chǔ)


宏是什么

宏就是錄像機(jī)功能、可以錄制一些基本的操作。
vba 是編輯宏的語(yǔ)言,可以把宏實(shí)現(xiàn)拓展。

1.帶有宏的工作表保存

1.帶有宏的工作表要保存為 xlsm 格式,保存的時(shí)候會(huì)提示。
  xlsx 保存的只是普通的 excel(excel安全機(jī)制導(dǎo)致的)

2.相對(duì)引用與未使用相對(duì)引用

未使用相對(duì)引用錄制的宏是 固定單元格的 (Range)
使用相對(duì)引用錄制的宏是   活動(dòng)單元格的(ActiveCell)

3.宏不能撤銷–只能刪除

宏不能撤銷--只能刪除(右鍵--格式--清除格式)

4.表單控件運(yùn)行宏

  插入--按鈕--托選區(qū)域--選擇要運(yùn)行的宏  (wps 的不在開(kāi)發(fā)工具處)
  右鍵點(diǎn)擊按鈕進(jìn)入編輯狀態(tài)--左鍵可以移動(dòng)按鈕

5.自定義工具欄添加宏

 文件--選項(xiàng)--快速訪問(wèn)工具欄--宏(wps 中沒(méi)有)

6.錄制新宏

 保存到
     			(新工作薄、當(dāng)前工作?。r(shí),將宏保存到單一的工作薄中
      			 別的Excel 工作薄也想使用這個(gè)宏,需要將保存有宏的工作薄打開(kāi)才能使用。
     保存到 
         	    個(gè)人工作薄時(shí)候(wps沒(méi)有)相當(dāng)創(chuàng)建了一個(gè)文件  personal.xlsb 工作薄
          		視圖--隱藏  personal.xlsb可以隱藏掉   
         		視圖--取消隱藏  personal.xlsb可以顯示出來(lái)

vba開(kāi)發(fā)

7.vba 開(kāi)發(fā)環(huán)境

項(xiàng)目
      -- EXCEL 對(duì)象 
           --   sheet1 (工作表1)
           --   sheet2 (工作表2)
           --   ThisWorkbook (工作薄)
      -- 模塊
           --  模塊1(錄制的宏對(duì)應(yīng)的代碼的地方)
           
     模塊可以導(dǎo)入也可以導(dǎo)出   格式為 xx.bas

8.語(yǔ)法

   Sub  子程序代碼名字()
   	MsgBox "這是我的第一個(gè)VBA代碼"
   End Sub
   
  '  -- 注釋符號(hào)
  Sub 表示一個(gè)子程序,可以理解為一串代碼的集合
  MsgBox 彈窗
  每句代碼結(jié)束不用加 分號(hào)

  注意: 一個(gè) 模塊中可以有 多個(gè)  Sub 子程序代碼塊

9.運(yùn)行

1.選中對(duì)應(yīng) sub 代碼 --直接 點(diǎn)運(yùn)行
    2.視圖--立即窗口--輸入
         Call 子程序代碼名字
       --回車

10. 變量聲明

   ①變量聲明

    格式:
    	Dim  變量名 As  變量類型
    	變量名 = 值

      如:Dim score As Integer
          score =100

      · 變量不賦值有默認(rèn)值

     ②多變量聲明
      Dim  變量名1 As  變量類型1,變量名2 As  變量類型2


     ③變量可以不指定類型
      Dim  變量名
      變量名 = 值
      
     ·變量可以不指定類型(variant:可變數(shù)據(jù)類型),不會(huì)報(bào)錯(cuò),但占據(jù)空間不確定

      
     ④防止變量不聲明使用

       1.Sub 上面寫(xiě) Option Explicit
       2. 工具--選項(xiàng)--編輯器--要求變量聲明

11. 數(shù)據(jù)類型

  Byte   	1(字節(jié))
      Integer	2(字節(jié))         默認(rèn)值 0
      Long    	4(字節(jié))
      Currency  8(字節(jié))

      Single  4(字節(jié))
      Double  8(字節(jié))

      Boolean  2   True/Fale

      Date   8
      String 

   日期格式定義:
        Dim birthDay As Date
        birthDay = #1991/12/12#
  
    ·日期前后加要加 # 號(hào),而且會(huì)自動(dòng)格式化
    ·顯示日期格式會(huì)跟隨電腦系統(tǒng)的顯示格式

12.變量

  局部變量
         Sub 里面 聲明的變量,當(dāng)前的sub 能使用

      全局變量
      	第一個(gè)Sub 上面 聲明的變量,當(dāng)前整個(gè)模塊的sub 都能使用該變量。
        
        Dim score As Integer
        Sub helloWorld()
   		 	xxx
	 	End Sub
        Sub helloWorld()
   		 	xxx
	 	End Sub
     
      超全局變量 
      	第一個(gè)Sub 上面 聲明的變量 將 Dim 改為 public,別的模塊的 sub 也能使用該變量。  
        public score As Integer

13. 變量 的 static 的用法

  Sub helloWorld()
      	Static count As Integer
        count = count + 1  
        MsgBox "您已經(jīng)運(yùn)行了:"  & count &"次" 
      End Sub
  
      static 修飾的變量會(huì)聲明超出子程序的范圍,但是在第二個(gè)子程序無(wú)法引用
     (類似該程序的 static 修飾的變量 加了循環(huán),運(yùn)行一次,修改一下變量)

      想停止 count  變量 需要
                         ·關(guān)閉工作薄,停止程序
                         ·點(diǎn)停止按鈕,重新設(shè)置

14. With語(yǔ)句

   避免每次都要重復(fù)寫(xiě)對(duì)象

       with 對(duì)象

		.屬性1=屬性值

		.屬性2=屬性值

		……

		.屬性N=屬性值

      end with

15.常量

  Const pi As Double = 3.14159

   ·定義常量用 Const 而不是 Dim
   ·定義常量的時(shí)候要直接賦值
   ·常量的值不允許被修改
      

    局部常量
         Sub 里面 聲明的常量,當(dāng)前的sub 能使用

    全局常量
      	第一個(gè)Sub 上面 聲明的常量,當(dāng)前整個(gè)模塊的sub 都能使用該常量。
        
         Const pi As Double = 3.14159

         Sub helloWorld()
   			 xxx
	 	 End Sub
         Sub helloWorld()
   		 	xxx
	    End Sub
     
     超全局常量 
        public Const pi As Double = 3.14159
        第一個(gè)Sub 上面

16.算數(shù)運(yùn)算符

 +、-、*、/、^(冪運(yùn)算)、Mod(求模)

17.比較運(yùn)算符

     > 、>=、 <、 <=、 =(等于,區(qū)別賦值號(hào) 可以把比較的變量加上小括號(hào)) 、
     <> (不等于)
    Like (字符串匹配)	

18.邏輯運(yùn)算符

  And(與)  、OR(或)、  Not(非)  
  XOR(邏輯排除) : 如果表達(dá)式中只有一個(gè)表達(dá)式的值為True,則結(jié)果為True。

19.連接操作符

& : 拼接兩個(gè)值
            1 & 2 = 12
            "1" & "2" = 12

        + : 將兩個(gè)值添加為變量,其值是數(shù)字
            1 + 2 = 3
            "1" + "2" = 12

20.命名規(guī)范

數(shù)字、字母、_ 下劃線;數(shù)字不能做開(kāi)頭

21.if 結(jié)構(gòu)

   ①If  判斷條件 Then
     	代碼語(yǔ)句
      End If
       
   ②If  判斷條件 Then
     	代碼語(yǔ)句
     Else
        代碼語(yǔ)句
     End If

   ③If  判斷條件 Then
     	代碼語(yǔ)句
     ElseIf  判斷條件 Then
        代碼語(yǔ)句
     End If

22. select 結(jié)構(gòu)(類似 switch)

Select Case 變量
           Case Is  表達(dá)式(這里不用寫(xiě)變量)
                表達(dá)式
	   Case Is  表達(dá)式(這里不用寫(xiě)變量)
                表達(dá)式
           Case Else
                表達(dá)式
    End Select

    Select Case score
   	 Case Is > 90
    	MsgBox "優(yōu)秀"
    	Case Is > 70
    	MsgBox "良好"
    	Case Else
    	MsgBox "差"
    End Select

23. For Next 語(yǔ)句

  For 循環(huán)變量初始賦值 to 循環(huán)變量最大值   
          執(zhí)行語(yǔ)句   
      Next 循環(huán)變量 (修改循環(huán)變量)

     Dim num As Integer
     For num = 1 To 5
        MsgBox num
     Next num

24.step的應(yīng)用

   
     For 循環(huán)變量初始賦值 to 循環(huán)變量最大值 step 數(shù)字      
          執(zhí)行語(yǔ)句    
     Next 循環(huán)變量 (修改循環(huán)變量,帶自增效果)
     
    ·step  循環(huán)變量的循環(huán)間隔

25.中途退出 for Next 循環(huán)

 ...
      Exit For (退出 for循環(huán) ,類似 break)
     ...

26. Do while 循環(huán) (滿足條件繼續(xù)循環(huán))

   Do while 循環(huán)條件  
      執(zhí)行語(yǔ)句    
      修改循環(huán)變量
   loop

27.Do Until 循環(huán) (循環(huán)直到不滿足條件)

   Do Until 循環(huán)條件  
      執(zhí)行語(yǔ)句  
      修改循環(huán)變量
   loop

28.無(wú)參數(shù)子過(guò)程

       子過(guò)程(子函數(shù)、子程序)
        Sub test()
            ...
        End Sub  

    有參數(shù)子過(guò)程
         Sub test(num1 As Integer,num2 As Integer)
            ...
         End Sub

    調(diào)用:無(wú)參數(shù)       test()
          有一個(gè)參數(shù)   test(100)
          有多個(gè)參數(shù)   test 2,100    (不帶括號(hào))

     Exit Sub (中途退出子程序)

29. 自定義函數(shù)

自定義函數(shù):
        自定義的函數(shù)可以在 Excel 表格單元格中直接調(diào)用

     函數(shù)過(guò)程語(yǔ)法:
      Function 函數(shù)名(參數(shù)1,參數(shù)2) AS 數(shù)據(jù)類型      (是返回值的數(shù)據(jù)類型)         
         函數(shù)名 = 值
      End Function 

     調(diào)用:
        Sub test()
           函數(shù)名(參數(shù)1,參數(shù)2)   
        End Sub
                 
      ·函數(shù)過(guò)程有返回值,子過(guò)程沒(méi)有返回值
      ·函數(shù)名作為函數(shù)返回變量
      ·函數(shù)調(diào)用 函數(shù)名() 帶括號(hào)

30.一維數(shù)組

 聲明定義一維數(shù)組
     	①Dim  數(shù)組名(開(kāi)始 To 結(jié)束) As Integer    
          Dim  MyArray(1 To 5) As Integer

        ②Dim  數(shù)組名(值) As Integer           
            ·默認(rèn)開(kāi)始下標(biāo)為 0
            ·在第一個(gè)sub最上面 添加  option Base 1,下標(biāo)是從1開(kāi)始

        ③使用Array函數(shù)創(chuàng)建常量數(shù)組:
            一維常量數(shù)組:Array("A",1,"C") 
      
     數(shù)組賦值
           數(shù)組名(下標(biāo))= 值   
           MyArray(1) =10

     訪問(wèn)數(shù)組
          數(shù)組名(下標(biāo))
          MyArray(1)
   
     遍歷
       Dim Index As integer
       For index = LBound(數(shù)組名) To UBound(數(shù)組名)
           MsgBox MyArray(Index)
       Next index

     數(shù)組方法:
       LBound(數(shù)組名) :數(shù)組的最小角標(biāo)
       UBound(數(shù)組名) :數(shù)組的最大角標(biāo)
       Split(String,char):返回一個(gè)數(shù)組,其中包含基于分隔符分割的特定數(shù)量的值。
          Split("Red $ Blue $ Yellow","$")

       Join(array,char) :函數(shù)返回一個(gè)包含數(shù)組中指定數(shù)量的子串的字符串。

       Filter(array,char,是否包含):函數(shù)返回一個(gè)基于零的數(shù)組,
                     其中包含基于特定過(guò)濾條件的字符串?dāng)?shù)組的子集。
   
                        是否包含 true: 篩選所有含char的數(shù)值組成一個(gè)新數(shù)組
                        是否包含 false:篩選所有不含char的數(shù)值組成一個(gè)新數(shù)組

       IsArray(數(shù)組名):函數(shù)返回一個(gè)布爾值,指示指定的輸入變量是否是數(shù)組變量。

       Erase 數(shù)組名  :用于重置固定大小數(shù)組的值并釋放動(dòng)態(tài)數(shù)組的內(nèi)存。 它的行為取決于數(shù)組的類型

31.二維數(shù)組

   Dim  數(shù)組名(行開(kāi)始 To 行結(jié)束,列開(kāi)始 To 列結(jié)束) As Integer

32.動(dòng)態(tài)數(shù)組(可以動(dòng)態(tài)修改下標(biāo)大?。?/h2>
 
     定義一維動(dòng)態(tài)數(shù)組
     	Dim  數(shù)組名() As Integer

     明確數(shù)組的下標(biāo)
        ReDim 數(shù)組名(開(kāi)始 To 結(jié)束)

        ReDim  動(dòng)態(tài)調(diào)整數(shù)組時(shí),會(huì)將之前的賦值都自動(dòng)抹除,
         添加 Preserve 將保留歷史數(shù)據(jù)      
         ReDim Preserve  數(shù)組名(開(kāi)始 To 結(jié)束)

33.對(duì)象的層級(jí)框架

 
      Applocation(Excel)--Workbook(工作薄)  --     Worksheet(工作表)
                                                 |          |         |
                                               shapes   Range 單元格 Charts
     
      Applocation.Workbooks("xxx").worksheets("xxx").Range("xxx"): 
      層級(jí)使用時(shí)要用集合  帶S的,表示 很多xx中的某一個(gè)具體的
                                                               
     注意:集合也是對(duì)象: Workbooks、worksheets、sheets、cells

     使用: 如   屬性  Range("A1").value
                      Range("A1").value =100
                方法  Range("A1").Clear

34.Range()、cells()、 Offset

  一、單元格的引用
  	  1.單元格的引用 Range()
    	 ①引用某個(gè)單元格
    	 Range("單元格坐標(biāo)").Value = 值
       		Range("A1").Value = 100

    	 ②引用多個(gè)單元格
    	 Range("單元格坐標(biāo)1,單元格坐標(biāo)2,..").Value = 值
       		Range("A1,c2,b5").Value = 100

    	 ③引用某個(gè)單元格區(qū)域
     	 Range("區(qū)域左上單元格坐標(biāo):區(qū)域右下單元格坐標(biāo)").Value = 值
       		 Range("A1:C5").Value = 100

     	④引用不連續(xù)的單元格區(qū)域
    	 Range("區(qū)域左上單元格坐標(biāo)1:區(qū)域右下單元格坐標(biāo)1,
     	  區(qū)域左上單元格坐標(biāo)2:區(qū)域右下單元格坐標(biāo)2").Value = 值

        ⑤引用單元格區(qū)域名稱
         Excel 中選取單元格區(qū)域--在單元格坐標(biāo)處修改名字
         Range("區(qū)域名字").Value = 值
       
         賦值時(shí),.value可以省略掉

    2.單元格的引用 []
       [A1]        '表示A1單元格
       [A1:A9]     '表示A1到A9單元格    

    3.單元格的引用 []
       Cells 屬性(好處是行號(hào)列標(biāo)都是數(shù)字)
        
   	   引用工作表中的某一個(gè)單元格
   		Worksheets("工作表名").cells(行號(hào)數(shù)字,列標(biāo)數(shù)字)
   			Worksheets("sheet1").cells(2,3).Value =100

   		引用單元格區(qū)域
   		Range(Cells(行號(hào)數(shù)字,列標(biāo)數(shù)字),Cells(行號(hào)數(shù)字,列標(biāo)數(shù)字))

   		引用單元格中的某個(gè)單元格
   		Range("坐標(biāo)開(kāi)始,坐標(biāo)結(jié)束").Cells(行號(hào)數(shù)字,列標(biāo)數(shù)字)

  二、行和列的引用
    
    ①引用單行單列
     Range("行號(hào):行號(hào)").value =100
    	Range("10:10").value =100

     Range("列標(biāo):列標(biāo)")
    	Range("B:B")

    ②引用多行(可不相連)
     Range("行號(hào)1:行號(hào)1,行號(hào)2:行號(hào)2..")
         Range("10:10,13:13")
      
    ③引用多列(可不相連)
      Range("列標(biāo)1:列標(biāo)1,列標(biāo)2:列標(biāo)2..")
         Range("A:A,F:F")

    ④引用相連的行或列
      Range("行號(hào)開(kāi)始:行號(hào)結(jié)束")
      Range("列標(biāo)開(kāi)始:列標(biāo)結(jié)束")

      另外一種寫(xiě)法:
      Rows("行號(hào)開(kāi)始:行號(hào)結(jié)束")
      Columns("列標(biāo)開(kāi)始:列標(biāo)結(jié)束")

  三、Offset屬性  
     offset屬性(偏移)
        Range("坐標(biāo)").Offset(行號(hào)數(shù)字,列標(biāo)數(shù)字)
```javascript
35.VBA對(duì)單元格的常見(jiàn)操作
    1.單元格的值獲取和賦值   x.Value
        Range("A1").Value
        Range("A1").Value = 值  

    2.設(shè)置單元格的填充色  x.Interior.ColorIndex = 值
        Range("B3").Interior.ColorIndex = 3   '值有1-56,代表56種顏色

    3.單元格的復(fù)制  x.copy y
        Range("B3").copy Range("C3")   '將B3的值,復(fù)制到C3單元格

    4.單元格的剪切  x.cut y
        Range("A1").cut Range("B3")  '將A1的值,剪切到B3單元格

36.Select 與 Activate 方法

 Range("坐標(biāo)").Select  選中單元格
     Range("坐標(biāo)").Activate  在選中區(qū)域中選中活動(dòng)的單元格

          注意:Activate  選中活動(dòng)單元格
          Range("B26:F31").Select
          Range("B27").Activate

     引用選擇的單元格/單元格區(qū)域
      Selection
       Selection.Value=100

     引用活動(dòng)的單元格
      ActiveCell
         ActiveCell.Value=100

37.End (有空格單元格會(huì)選不上)

  	End 屬性 模擬Ctrl+ 方向鍵   在數(shù)據(jù)區(qū)域中選取的效果 
        End(常量)   常量:xlDown、xlUp、xlToRight、 xlToLeft
                         
        選中一個(gè)單元格
        Range("坐標(biāo)").End(xlToRight).Select

        選中一個(gè)區(qū)域 (End 可以連用)
        Range("坐標(biāo)",Range("坐標(biāo)").End(xlDown).End(xlToRight)).Select

38.UsedRange

  它是worksheet 的一個(gè)屬性,代表指定工作表上的 所用區(qū)域 
      
       工作表.UsedRange.方法或者屬性
       Sheet3.UsedRange.Select

39.CurrentRegion (有空格單元格也可以選上)

  它是單元格 的一個(gè)屬性,代表指定單元格所在的區(qū)域    

      單元格.CurrentRegion.方法或者屬性
      Range("a5").CurrentRegion.Select

40.字符串函數(shù)

instr(從第幾個(gè)開(kāi)始,字符串1,字符串2)   返回 0 表示未找到
    	'從規(guī)定的位置開(kāi)始查找,返回字符串2在字符串1中的位置,從左到右搜索。
    	 MsgBox ("Line 1 : " & InStr(1, “safdfasdf”, "s")) 
      
    InStrRev(string1,string2[,start,[compare]])
    	'從規(guī)定的位置開(kāi)始查找,返回字符串2在字符串1中的位置,搜索從右到左
   	 msgbox("Line 1 : " & InStrRev("asdfasdf","s",Len("string1")))

          Compare - 一個(gè)可選參數(shù)。 指定要使用的字符串比較。它可以采用以下值。
          	 0 = vbBinaryCompare - 執(zhí)行二進(jìn)制比較(默認(rèn))
          	 1 = vbTextCompare - 執(zhí)行文本比較

    Lcase(String)/UCase(String)
    	小寫(xiě)轉(zhuǎn)大寫(xiě)/大寫(xiě)轉(zhuǎn)小寫(xiě)
 
    Left(String, Length)
   	'從字符串的左側(cè)返回指定數(shù)量的字符
    
    Right(String, Length)
        '從字符串的右側(cè)返回指定數(shù)量的字符
    
    Mid(字符串,從第幾個(gè)開(kāi)始,長(zhǎng)度)
        '返回給定輸入字符串中指定數(shù)量的字符
    
    Ltrim(String) /RTrim(String)/Trim(String)
   	'刪除左側(cè)的空格/刪除右側(cè)的空格/刪除兩頭的空格
    
    Len(String)
    '返回給定輸入字符串的長(zhǎng)度,包括空格
    
    space(number)
      '用特定數(shù)量的空格填充字符串
       msgbox("aaa" & Space(2)& "bbb")

    StrComp(string1,string2[,compare])
      '比較兩個(gè)給定字符串后,返回一個(gè)整數(shù)值。

       如果 String1 < String2, 那么 StrComp 函數(shù)返回 -1
       如果 String1 = String2, 那么 StrComp 函數(shù)返回 0
       如果 String1 > String2, 那么 StrComp 函數(shù)返回 1

       msgbox("Line 1 :" & StrComp("Microsoft","Microsoft"))

    Replace ( string1, find, replacement, [start, [count, [compare]]] )
      '返回一個(gè)字符串,該字符串中指定的子字符串已被替換成另一子字符串,并且替換發(fā)生的開(kāi)始位置和次數(shù)也是指定的。
       msgbox("Line 1 :" & Replace("alphabet", "a", "e", 1, 1))

    String(number,character)
    	'填充[number]個(gè)[character] 
        msgbox("Line 1 :" & String(3,"$"))

    StrReverse(string)
    	'反轉(zhuǎn)指定的字符串

41.日期函數(shù)

Date()
        '返回當(dāng)前的系統(tǒng)日期
       
    CDate(date)
        '將有效的日期和時(shí)間表達(dá)式轉(zhuǎn)換為系統(tǒng)類型日期
        MsgBox ("The Value of a : " & CDate("Jan 01 2020"))

    DateAdd(interval,number,date)
        '將有效的日期和時(shí)間表達(dá)式轉(zhuǎn)換為類型日期
        msgbox("Line 1 : " &DateAdd("h",1,"01-Jan-2013 12:00:00"))

        interval - 一個(gè)必需的參數(shù)。 它可以采用以下值。
              d - 一年中的一天
              m - 一年中的月份
              y - 一年中的年份
              yyyy - 年份
              w - 工作日
              ww - 星期
              q - 季度
              h - 小時(shí)
              m - 分鐘
              s - 秒鐘
        
        Number - 必需的參數(shù)。它可以采用正值和負(fù)值的參數(shù)
 

    DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])
        '返回兩個(gè)指定的時(shí)間間隔之間的差值。
        msgbox("Line 2 : " &DateDiff("q","01-Jan-09 00:00:00","01-Jan-10 23:59:00"))

    DatePart(interval,date[,firstdayofweek[,firstweekofyear]])
        '返回給定日期的特定部分
        msgbox("Line 4 : " & DatePart("m","2013-01-15"))

    Day(date)
        '返回1到31之間的數(shù)字,表示指定日期的一天
        msgbox(Day("2018-06-30"))

    DateSerial(year,month,day)
        '返回指定的日期,月份和年份參數(shù)的日期
         msgbox(DateSerial(2018,5,10))

    FormatDateTime(date,format)
        '格式化并返回有效的日期和時(shí)間表達(dá)式
         msgbox("Line 5 : " & FormatDateTime("2018-08-15 20:25",4))

        Format  - 一個(gè)可選參數(shù)。指定要使用的日期或時(shí)間格式的值。
        它可以采取以下值 - 
           0 = vbGeneralDate - 默認(rèn)值         15/08/2018 8:25:00 PM 
           1 = vbLongDate - 返回長(zhǎng)日期        Thursday, 15 August 2018
           2 = vbShortDate - 返回短日期       15/08/2018
           3 = vbLongTime - 返回長(zhǎng)時(shí)間        8:25:00 PM
           4 = vbShortTime - 返回短時(shí)間       20:25


    IsDate(expression)
        '判斷是否為日期,它都會(huì)返回一個(gè)布爾值
           msgbox("Line 1 : " & IsDate("Nov 03, 1950"))

    Month(date)
        '返回1到12之間的數(shù)字,表示指定日期的月份。
        msgbox("當(dāng)前的月份的值是:"&Month("2018-06-30"))

    Year(date)
        '返回一個(gè)表示指定日期的年份的整數(shù)
        msgbox(Year("2018-06-30"))

    MonthName(month[,toabbreviate])
        '回指定日期的月份名稱。
        msgbox("Line 1 : " & MonthName(01,True))    1月
        msgbox("Line 2 : " & MonthName(01,false))   一月

    Weekday(date[,firstdayofweek])
        '返回一個(gè)從1到7的整數(shù),表示指定日期的星期幾。
        msgbox("Line 1: " & Weekday("2013-05-16",1))

    WeekdayName(weekday[,abbreviate[,firstdayofweek]])
        '返回指定日期的工作日名稱
        msgbox("Line 2 : " &WeekdayName(2,True))
        msgbox("Line 3 : " &WeekdayName(1,False))
        msgbox("Line 4 : " &WeekdayName(2,True,0))
        msgbox("Line 5 : " &WeekdayName(1,False,1))

42.時(shí)間函數(shù)

  Now()
        返回當(dāng)前的系統(tǒng)日期和時(shí)間。  yyyy/mm/dd hh:mm:ss

      Hour(time)
        返回0到23之間的數(shù)字,表示指定時(shí)間戳的一天中的小時(shí)。

      Minute(time)
        返回0到59之間的數(shù)字,表示指定時(shí)間戳的分鐘數(shù)值。

      econd(time)
        返回0到59之間的數(shù)字,表示指定時(shí)間戳的秒鐘數(shù)值。

      Time()
        返回當(dāng)前的系統(tǒng)時(shí)間。 hh:mm:ss

      Timer()
        返回自凌晨00:00起的秒數(shù)和毫秒數(shù)。

      TimeSerial(hour,minute,second)
        返回指定小時(shí),分鐘和秒值的時(shí)間。
        msgbox(TimeSerial(7*2,60/3,15+3))   14:20:18

      TimeValue(StringTime)
        將給定的輸入字符串轉(zhuǎn)換為有效的時(shí)間。
        MsgBox (TimeValue("5:15"))  5:15:00

43. VBA消息框

 MsgBox(prompt[,buttons][,title][,helpfile,context])
    
       Prompt 顯示在對(duì)話框中的消息的字符串
       buttons 可選的參數(shù)。數(shù)值表達(dá)式
       Title  對(duì)話框的標(biāo)題欄文字

44.VBA 的 VBA輸入框

 InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])


    Default - 一個(gè)可選的參數(shù)。顯示在文本框中的默認(rèn)文本
    XPos - 一個(gè)可選的參數(shù)。X軸的位置
    YPos - 一個(gè)可選的參數(shù)。Y軸的位置

45.正則

引用外部:工具--引用--勾選 Microsoft VBScript Regular Expression 5.5

    創(chuàng)建正則對(duì)象
      ① Dim reg As New RegExp                       new 對(duì)象

      ② Set reg = CreateObject("VBScript.RegExp")   創(chuàng)建對(duì)象

46.錯(cuò)誤處理

   ①On Error Resume Next 
   '當(dāng)代碼運(yùn)行錯(cuò)誤時(shí)忽略,繼續(xù)向下運(yùn)行


   ② GoTo  str

      執(zhí)行代碼
 
      str:

47. dir(“目錄”) 獲取文件名

    dir("D:\DEST\hello\")  :路徑結(jié)束要加

48.超鏈接

   sheet1.HyperLinks.Add 超鏈接放置在Excel中的位置,超鏈接地址, _
   子地址,光標(biāo)懸浮提示,將超鏈接顯示為字符

49. 一句代碼過(guò)長(zhǎng),折行時(shí) 加空格 再加 _

   Sheet4.Hyperlinks.Add Range("A1"), _
   "D:\Users\Desktop\記錄.xls\", "sheet1!a1", "超鏈接", "點(diǎn)這里"

50.Dim 與 Set

   Dim obj                             '定義變量obj
   Set obj=createobject("........")     '將對(duì)象 賦值給obj變量
     或者 = new xxx

51.字典

字典不是Excel 自帶功能,需要引用后才能使用屬性和方法

    ① 前期綁定(有代碼提示,方便程序員調(diào)用方法屬性)
       工具--引用--瀏覽--找到 scrrun.dll
       引用-- Microsoft Scripting Runtime

       如:Dim dict As New Dictionary
           dict.Add "jia", "學(xué)代碼"


    ② 后期綁定,利用使用(通過(guò)CreateObject函數(shù)創(chuàng)建使用)
       綁定語(yǔ)句:Set o = CreateObject("scripting.dictionary")


     字典方法和屬性
        方法: Add Items Keys Remove RemoveAll Exits
        屬性:Item Key Count CompareMode

       object.Add(Key,item)
          添加一條相對(duì)應(yīng)的關(guān)鍵字和條目到字典
          key唯一,item 可以為空 或者 nothing

       object.items
          一維數(shù)組的形式返回字典中所有的條目

       object.keys
          一維數(shù)組的形式返回字典中所有的key

       object.Exits(key)
          判斷字典中是否包含key
 
       object.Remove(key)
          刪除字典中關(guān)鍵字對(duì)應(yīng)的條目

       object.RemoveAll
          刪除字典中所有的key和item

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(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)論公約

    類似文章 更多