| 導購 | 订阅 | 在线投稿
分享
 
 
 

辦公中常用到的Excel-VBA編程

來源:互聯網網民  2008-07-22 05:34:26  評論

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

 
特别声明:以上内容(如有图片或视频亦包括在内)为网络用户发布,本站仅提供信息存储服务。
 
用過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
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 
 熱帖排行
 
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有