晚上還要加班,今天就不多bb了,直接放個demo好了簡單異常處理
option explicit
sub errhandlingone()
'異常處理示例
'err.number物件顯示錯誤**,error(err.number)顯示於錯誤**對應錯誤型別
'err物件預設屬性是err.number 所以可以省略
on error resume next
msgbox 1 / 0
if err.number <> 0 then
msgbox "發生錯誤,錯誤**為:" & err.number & ",錯誤型別為:" & error(err.number), , "錯誤提示"
end if
end sub
sub errhandlingtwo()
'異常處理示例
'err物件預設屬性是err.number 所以省略.number也可以正常執行
on error resume next
msgbox 1 / 0
if err <> 0 then
msgbox "發生錯誤,錯誤**為:" & err & ",錯誤型別為:" & error(err), , "錯誤提示"
end if
end sub
下面是對工作簿內的工作表進行排序
option explicit
dim shtcount as integer
sub sortsheet()
'工作表排序
'先設定螢幕別滾動
'第一步遍歷工作簿中所有工作表的名稱,儲存在shtname變數中
dim shtnames() as string
dim i as integer
shtcount = worksheets.count
redim shtnames(1 to shtcount)
for i = 1 to shtcount
shtnames(i) = worksheets(i).name
next
'第二步:各工作表根據名稱進行排序
call bubblesort(shtnames)
'第三步:根據排序好的名稱,確定要放置在工作簿的位置
for i = 1 to shtcount
'將排序好的表放到對應的位置上
worksheets(shtnames(i)).move after:=worksheets(i)
next
'排序完了回到sheets(1)
worksheets(1).select
end sub
private sub bubblesort(shtnames() as string)
dim i as integer, j as integer, temp as string
'比較粗糙的氣泡排序,把sheets的表名作為引數傳進來,再重新排個順序
for i = 1 to shtcount
for j = i to shtcount
'加個ucase不區分大小寫
if ucase(shtnames(i)) > ucase(shtnames(j)) then
temp = shtnames(i)
shtnames(i) = shtnames(j)
shtnames(j) = temp
end if
next j
next i
end sub
VBA 遍歷工作表的方法
在工作中,經常需要遍歷工作表,這裡展示最基本的功能,查詢工作表的個數,其餘功能大同小異 方法一 sub test dim i as integer dim s as integer for i worksheets.count to 1step 1 s s 1next msgbox 共有 s 張表 ...
vba 批量新建工作表
一 c 列沒有重複值 初始表 插入工作表 sub shtadd rem 根據c列的值新建不同的工作表 dim i as integer,sht as worksheet i 2 第一條記錄的行號為2 set sht worksheets 成績表 dowhile sht.cells i,c 定義迴圈條...
異常和異常處理
程式執行遇到兩種錯誤 1.error 錯誤 致命錯誤,無法恢復執行 2.exception 異常 通過修正,繼續執行。異常類常用方法 1.tostring 返回描述異常物件資訊字串 2.getmessage 返回描述物件詳細資訊 處理方法 1.try catch finally 1 try中包涵可能...