Excel VBA編程的常用代碼

來源:互聯網
上載者:User
用過VB的人都應該知道如何聲明變數,在VBA中聲明變數和VB中是完全一樣的!

使用Dim語句
Dim a as integer '聲明a為整型變數
Dim a '聲明a為變體變數
Dim a as string '聲明a為字串變數
Dim a as currency ,b as currency ,c as currency '聲明a,b,c為貨幣變數
......
聲 明變數可以是:Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal(當前不支援)、 Date、String(只限變長字串)、String * length(定長字串)、Object、Variant、使用者定義型別或物件類型。

強制聲明變數
Option Explicit
說明:該語句必在任何過程之前出現在模組中。

聲明常數
用來代替文字值。
Const

' 常數的預設狀態是 Private。
Const My = 456

' 聲明 Public 常數。
Public Const MyString = "HELP"

' 聲明 Private Integer 常數。
Private Const MyInt As Integer = 5

' 在同一行裡聲明多個常數。
Const MyStr = "Hello", MyDouble As Double = 3.4567

選擇目前的儲存格所在地區

在EXCEL97中,有一個十分好的功能,他就是把滑鼠放置在一個有效資料儲存格中,執行該段代碼,你就可以將連在一起的一片資料全部選中。只要將該段代碼加入到你的模組中。
Sub My_Select
Selection.CurrentRegion.Select
End sub

返回目前的儲存格中資料刪除前後空格後的值
sub my_trim
msgbox Trim(ActiveCell.Value)
end sub

儲存格位移
sub my_offset
ActiveCell.Offset(0, 1).Select'目前的儲存格向左移動一格
ActiveCell.Offset(0, -1).Select'目前的儲存格向右移動一格
ActiveCell.Offset(1 , 0).Select'目前的儲存格向下移動一格
ActiveCell.Offset(-1 , 0).Select'目前的儲存格向上移動一格
end sub
如果上述程式產生錯誤那是因為儲存格不能移動,為瞭解除上述錯誤,我們可以往
sub my_offset 之下加一段代碼 on error resume next

 

注意以下代碼都不再添加 sub “代碼名稱” 和end sub請自己添加!

給目前的儲存格賦值
ActiveCell.Value = "你好!!!"

給指定儲存格賦值
例如:A1儲存格內容設為"HELLO"
Range("a1").value="hello"

又如:你現在的活頁簿在sheet1上,你要往sheet2的A1儲存格中插入"HELLO"
1.
sheets("sheet2").select
range("a1").value="hello"

2.
Sheets("sheet1").Range("a1").Value = "hello"

說明:
1.sheet2被選中,然後在將“HELLO"賦到A1儲存格中。
2.sheet2不必被選中,即可“HELLO"賦到sheet2 的A1儲存格中。

隱藏工作表
'隱藏SHEET1這張工作表
  sheets("sheet1").Visible=False

'顯示SHEET1這張工作表
  sheets("sheet1").Visible=True

預覽列印
有時候我們想把所有的EXCEL中的SHEET都預覽列印,請使用該段代碼,它將在你現有的活頁簿中迴圈,直到最後一個活頁簿結束迴圈預覽。
Dim my As Worksheet
For Each my In Worksheets
my.PrintPreview
Next my

得到目前的儲存格的地址
msgbox ActiveCell.Address

得到當前日期及時間
msgbox date & chr(13) & time

保護活頁簿
ActiveSheet.Protect

取消保護活頁簿
ActiveSheet.Unprotect

給使用中工作表改名為 "liu"
ActiveSheet.Name = "liu"

開啟一個應用程式
AppActivate (Shell("C:\WINDOWS\CALC.EXE"))

增加一個工作表
Worksheets.Add

刪除使用中工作表
activesheet.delete

開啟一個活頁簿檔案
Workbooks.Open FileName:="C:\My Documents\Book2.xls"

關閉使用中視窗
ActiveWindow.Close

儲存格格式
選定儲存格靠左對齊
Selection.HorizontalAlignment = xlLeft

選定儲存格置中
Selection.HorizontalAlignment = xlCenter

選定儲存格靠右對齊
Selection.HorizontalAlignment = xlRight

選定儲存格為百分比符號風格
Selection.Style = "Percent"

選定儲存格字型為粗體
Selection.Font.Bold = True

選定儲存格字型為斜體
Selection.Font.Italic = True

選定儲存格字型為宋體20號字
With Selection.Font
.Name = "宋體"
.Size = 20
End With

With 語句

With 對象
.描述
End With

清除儲存格
ActiveCell.Clear  '刪除所有文字、批註、格式

返回選定地區的行數
MsgBox Selection.Rows.Count

返回選定地區的列數
MsgBox Selection.Columns.Count

返回選定地區的地址
Selection.Address

忽略所有的錯誤
ON ERROR RESUME NEXT

遇錯跳轉
on error goto err_handle
'中間的其他代碼
err_handle: ' 標籤
'跳轉後的代碼

刪除一個檔案
kill "c:\1.txt"

定製自己的狀態列
Application.StatusBar = "現在時刻: " & Time

恢複自己的狀態列
Application.StatusBar = false

用代碼執行一個宏
Application.Run macro:="text"

滾動視窗到a1的位置
ActiveWindow.ScrollRow = 1
ActiveWindow.ScrollColumn = 1

定製系統日期
Dim MyDate, MyDay
MyDate = #12/12/69#
MyDay = Day(MyDate)

返回當天的時間
Dim MyDate, MyYear
MyDate = Date
MyYear = Year(MyDate)
MsgBox MyYear

inputbox<輸入框>
XX=InputBox ("Enter number of months to add")

得到一個檔案名稱
Dim kk As String
kk = Application.GetOpenFilename("EXCEL (*.XLS), *.XLS", Title:="提示:請開啟一個EXCEL檔案:")
msgbox kk

開啟zoom對話方塊
Application.Dialogs(xlDialogZoom).Show

啟用字型對話方塊
Application.Dialogs(xlDialogActiveCellFont).Show

開啟另存對話方塊
Dim kk As String
kk = Application.GetSaveAsFilename("excel (*.xls), *.xls")
Workbooks.Open kk

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.