一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

自學(xué)資料(Excel VBA)[收集整理15]

 COPY&PASTE 2009-10-15

自學(xué)資料(Excel VBA)[收集整理15]

默認(rèn)分類   2009-08-01 12:15   閱讀100   評論0  
字號(hào):    

81、Rem:將活動(dòng)單元格從A5移到A6,并將A6單元格的數(shù)值保存到x變量中
range("A5 ").select此命令就是選擇A5單元格
Activecell.offset(1,0).select
X=activecell.value
82、用代碼窗口中可用F8運(yùn)行宏,Alt+F8顯示宏對話框,Alt+F11可以打開VBE編輯器
83、Option Explicit  在程序代碼前使用該命令,則變量要在聲明后才能使用,否則編譯程序無法識(shí)別該變量,從而產(chǎn)生錯(cuò)誤信息
84、 Load語句用于加載窗體,加載后將占用內(nèi)存,Hide方法使窗體隱藏,但仍在內(nèi)存中,故不再使用窗體時(shí)應(yīng)使用Uuload語句及時(shí)卸載,將內(nèi)存交還系統(tǒng),Show方法用來顯示一個(gè)窗體,格式:窗體名稱.show 模式,模式可取0或1,為1時(shí),不能到其他窗體操作,只有關(guān)閉該窗體后才能對其他窗體操作
85、控件的命名規(guī)則,通常使用3個(gè)字母的前綴命名控件,如Label的前綴為lbl,初學(xué)者最好養(yǎng)成良好的命名習(xí)慣
86、按下Ctrl+Enter鍵單元格不移動(dòng)。
87、按下F2鍵直接在單元格內(nèi)編輯,不需動(dòng)鼠標(biāo)
88、命令按鈕不支持雙擊(Dbclick)事件
89、Private Sub CheckBox1_Click()
If CheckBox1.Value Then
MsgBox "333"
Else
MsgBox "666"
End If
End Sub
本段的主要用意在于明白了If CheckBox1.Value Then與If CheckBox1.Value=True Then
90、Timer是計(jì)時(shí)器,功能是按指定時(shí)間間隔產(chǎn)生定時(shí)事件
91、在一個(gè)語句要分行顯示的地方加一個(gè)或多個(gè)空格,加一個(gè)下劃線_然后回車轉(zhuǎn)入下一物理行,作用在于代碼一行寫不下時(shí)續(xù)行,程序代碼中一行較短時(shí)可加:把多行連成一行顯示
92、if a>15 then
b=10
else
b=100
end if
可改為如下if語句
b=iif(a.15,10,100)
93、F12用于啟動(dòng)另存為對話框
94、x=shell(calc.exe,1)可打開計(jì)算器程序
95、 call語句格式:Call<子過程名>[(<實(shí)際參數(shù)表>)]如果過程本身沒有參數(shù),則實(shí)參和括號(hào)可省略,并報(bào)參數(shù)放在括號(hào)中,另一個(gè)調(diào)用Sub過程的方法是: <子過程名>[<實(shí)際參數(shù)表>]比前一個(gè)少了Call和括號(hào),子過程調(diào)用語句的實(shí)參在數(shù)目、類型、排列上與子過程定義語句的形式參數(shù)表一致
96、自定義函數(shù)一例,求abc三個(gè)數(shù)的平均
Private Function Passed(By Val a As integer, By Val b As integer, By Val c As integer)
ave=(a+b+c)/3
End Sub
在定義時(shí)必須向函數(shù)過程名賦值,而子程序名不能賦值
97、在工作表任意單元格輸入=Cell("filename")可獲得文件的完整路徑、文件名和工作表名
98、在打開Excel文件時(shí)按住Shift鍵,將不運(yùn)行VBA過程,可防止宏病毒,單擊文件 關(guān)閉命令,在點(diǎn)關(guān)閉時(shí)按住Shift鍵將在不運(yùn)行VBA過程的情況下關(guān)閉工作簿,可防止關(guān)閉時(shí)自動(dòng)運(yùn)行的宏病毒。
99、讓一個(gè)變量得到單元格A1到A5的總和(變量設(shè)為X),
X=Sum(Range(“A1:A5”)) 錯(cuò)
X=Application.WorksheetFunction.Sum(Range(“A1:A5”))正確
也就是說必須通過Application的WorksheetFunction屬性間接調(diào)用工作表函數(shù)
100、Rem和'是注釋符,注釋語句是非執(zhí)行語句,要養(yǎng)成對代碼注釋的習(xí)慣。
101、ActiveSheet.Next.Select選擇活動(dòng)工作表下一張工作表,
ActiveSheet.Previous.Select選上一張
102、單元格B2:B10數(shù)值不全為空用IF語句表達(dá)
For Each cl in ActiveSheet.Range("B2:B10")
If cl.Value <> "" then
msgbox "有非空單元格"
Exit For
endif
next
103、用Range引用單元格和單元格區(qū)域
Range("A1") 單元格A1
Range("A1:B5") 從單元格A1到B5區(qū)域
Range("A1:B5 ,B1:B7") 多塊的選定區(qū)域
Range("A:A") A列
Range("1:1") 第一行
Range("A:C") A列到C列的區(qū)域
Range("1:5") 第1行到第5行的區(qū)域
Range("1:1,3:3") 第1、行
Range("A:A,C:C") A列、C列
104、用Cells及編號(hào)引用單元格
Cells(6,1)A6單元格
如果對工作表用Cells屬性時(shí)不指定索引,表示引用工作表上的所有單元格,下例清除活動(dòng)工作簿中工作表Sheet1上所有單元格的內(nèi)容
Worksheets(“sheet1”).Cells.ClearContents
105、可用變量代入單元格索引值,故Cells屬性非常適用于在單元格區(qū)域中循環(huán),如:
For counter=1 To 20
Worksheets(“sheet1”).Cells(counter,3).value=counter
Next counter
106、引用行或列
Rows(1) 第1行
Rows 所有行
Columns(1)  第1列
Columns(“C”) 第3列
Columns 工作表上所有列
106、可用方括號(hào)將A1樣式的引用或命名區(qū)域的名稱括起來,作為Range屬性的快捷方式,這樣就不必鍵入Range 和引號(hào),如
Worksheets(“sheet1”).[A1:B2].clearContents
[MyRange].Value=30
107、用Offset處理按相對于其他單元格的某一位置的常用辦法是使用Offset屬性,本例將活動(dòng)工作表上活動(dòng)單元格下一行和右邊三列的單元格的內(nèi)容設(shè)置為下劃線,如:
ActiveCell.Offset(1,3).font.Underline=XlDouble
108、把別的工作表Sheet2數(shù)據(jù),讀到當(dāng)前工作表的方法列舉
1)[A1]=Sheet2.[A1]    把Sheet2A1單元格的數(shù)據(jù),讀到A1單元格
2)[A2:A4]=Sheet2.[B1]  把Sheet2單元格B1的數(shù)據(jù)讀到A2:到A4單元格
3)Range(B1”)=Sheet2.Range(“B1”)  把Sheet2工作表單元格B1數(shù)據(jù),讀到B1單元格
4)Range(“C1:C3”)=Sheet2.Range(“C1”)  把Sheet2工作表單元格C1數(shù)據(jù),讀到C1:C3
5)Cells(1,4)=Sheet2Cells(1,4)  把Sheet2工作表單元格D1數(shù)據(jù),讀到D1 單元格
6)Range(Cells(1,5),Cells(5,5)=Sheet2.Cells(1,5)  把sheet2工作表單元格E1數(shù)據(jù),讀到E1:E5單元格
7)Selection.Value=Sheet2.[F1]  把Sheet2 工作表單元格[F1]數(shù)據(jù),讀到任何你點(diǎn)選的單元格
109、Sub前有個(gè)Private表示是私有子程序,這個(gè)子程序不會(huì)出現(xiàn)在“宏”對話框中
110、Sub test()
ActiveSheet.Calculate
End Sub重算活動(dòng)工作表
111、編程前應(yīng)該盡可能地多了解Excel對象的屬性、方法
112、每一個(gè)Excel對象的屬性、方法的調(diào)用都要通過OLE連接的一個(gè)或多個(gè)調(diào)用,這些OLE調(diào)用都是需要時(shí)間的,減少使用對象引用能加快VBA代碼的運(yùn)行
113、使用With語句
Workbooks(1).Sheets(1).Range(“A1:A1000”).font.Name=”Pay”
Workbooks(1).Sheets(1).Range(“A1:A1000”).Font.Fontstyle=”Bold”…
改用With語句則運(yùn)行速度加快
例:With Workbooks(1).Sheets(1).Range(“A1:A1000”).font
.Name=”Pay”
.Fontstyle= Bold”

End With
114、用set設(shè)置對象變量,以減少對象的訪問,如:
Set MyRange=Workbooks(1).Sheets(1)
Mysheet.Range(“A1”).Value=100
Mysheet.Range(“A2”).Value=200
比直接用Workbooks(1).Sheets(1). Range(“A1”).Value=100
Workbooks(1).Sheets(1). Range(“A2”).Value=200運(yùn)行快
115、在循環(huán)中要盡是減少對象的訪問
For k=1 To 100
Sheets(“sheet1”).select
Cells(k,1).value=Cells(1,1).Value
Next k
更快的代碼是
set TheValue=Cells(1,1).Value
Sheets(“sheet1”).select
For k=1 To 100
Cells(k,1).value=TheValue

116、減少對象的激活和選擇
如果你是通過錄制宏的來學(xué)習(xí)VBA的程序里一定充滿了對象的激活和選擇,如Workbooks(XXX).active 、Sheets(XXX).Select  、Range(XXX).Select等,但事實(shí)上大多數(shù)情況下這些操作不是必須的,如
Sheets(“sheet1”).Select
Range(“A1”).Value=100
Range(“A2”).Value=200
可改為With sheets(“Sheet3”)
.Range (“A1”)=100
.Range (“A2”)=200
117、關(guān)閉屏幕更新是提高運(yùn)行速度的最有效的辦法,推薦使用
Application.ScreenUpdate=False
程序運(yùn)行后再改回來
118、VBA中默認(rèn)的數(shù)據(jù)類型是Variant,你必須選擇使用何種數(shù)據(jù)類型,因?yàn)閂ariant數(shù)據(jù)類型占用存儲(chǔ)空間較大(16或22字節(jié))而且它將影響程序的性能,Vba必須識(shí)別Variant類型的變量中存儲(chǔ)了何種數(shù)據(jù)類型。

119、再列一個(gè)自定義函數(shù)計(jì)算價(jià)格為10%為運(yùn)費(fèi)的簡單函數(shù)例子
Public Function Shipping(Price)
Shipping=Price*0.1
End Function
如還是不懂的話,將上述過程復(fù)制到模塊中,然后在工作表任意單元格中輸入=Shipping(C1)你就會(huì)明白
120、ActiveWindow.DisplyGridlines=False  此句用來關(guān)閉網(wǎng)格線。
轉(zhuǎn)載自 http://bbs./showtopic-169943.aspx

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    日本欧美一区二区三区在线播 | 色婷婷亚洲精品综合网| 久久久精品日韩欧美丰满| 国产在线一区中文字幕| 99国产精品国产精品九九| 国产传媒中文字幕东京热| 日本国产欧美精品视频| 日韩精品免费一区二区三区| 欧美日韩久久精品一区二区| 亚洲日本韩国一区二区三区| 欧美在线视频一区观看| 国产内射一级一片内射高清视频| 欧美亚洲另类久久久精品| 欧美一区二区三区99| 久久99爱爱视频视频| 日韩精品第一区二区三区| 91亚洲国产日韩在线| av一区二区三区天堂| 一区二区三区四区亚洲专区 | 午夜国产精品国自产拍av| 日本免费熟女一区二区三区| 国产精品一区二区传媒蜜臀| 亚洲欧美日韩国产成人| 欧美精品激情视频一区| 内射精子视频欧美一区二区| 久久精品亚洲欧美日韩| 精品亚洲香蕉久久综合网| 内射精子视频欧美一区二区| 美女黄片大全在线观看| 亚洲清纯一区二区三区| 97精品人妻一区二区三区麻豆| 91亚洲熟女少妇在线观看| 91福利免费一区二区三区| 国产精品一区二区成人在线| 国产精品第一香蕉视频| 亚洲国产综合久久天堂| 精品国产91亚洲一区二区三区| 人妻一区二区三区多毛女| 熟女中文字幕一区二区三区| 99热中文字幕在线精品| 97精品人妻一区二区三区麻豆|