Exce 常用宏指令

聲明

用過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

 

凍結窗口

Range("A2").Select
ActiveWindow.FreezePanes = True

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章