Exce 常用巨集指令

2021-06-19 19:55:55 字數 3962 閱讀 3198

宣告

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

增加乙個工作表

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"

滾動視窗到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")

凍結視窗

range("a2").select

activewindow.freezepanes = true

mips彙編時常用的巨集指令

mips公司最初設計的彙編器是乙個巨集偉的計畫,它能完成智慧型巨集的擴充套件,延遲槽填充,窺孔優化以及盡可能減少流水線堵塞而對複雜指令序列進行指令重組。不過其他的彙編器簡單多了,因為高階語言的先進編譯器技術已經可以完成這些優化工作。為了保持彙編 的相容性,同時為了讓彙編程式設計師輕鬆一點,所有的mi...

彙編巨集指令

在學習驅動程式設計的過程中 總會遇到牛人們使用巨集運算子 想想最初知道巨集的時候還是在x86的教材中 好歹也摸爬滾打了也有不少時間 最終卻忘得光光的 現在想起來唏噓不已 今天查了下書 複習了下部分巨集運算子 在巨集呼叫時,使用該運算子能把其後表示式的結果作為實參替換,而非表示式自身 譬如某巨集 x1...

指令和偽指令和巨集指令區別

指令 編譯軟體最終編譯成機器碼 偽指令 不編譯成機器碼 只是告訴編譯器應該怎麼做 巨集指令 將一堆指令合併編寫 完成乙個特定的任務 這裡要讓編譯器知道是否是巨集指令就需要偽指令宣告 這裡舉例 lea命令和offset命令 lea為機器指令 offset為偽指令 比如lea ax,1 就是一條機器指令...