vba程式集
(第4輯)
for r = lastrow to 2 step -1
if ucase(cells(r, 1).value) <> "留下" then rows(r).delete '可以根據實際情況將條件進行更改,以實現需求.如更改列,或比較的值等
next r
示例文件見uploadfiles/2006-6/627521432.rar
**********************************
程式14(窗體控制項——文字框)
[程式功能] 在介面中有多個文字框,在文字框中輸入資料,當第乙個文字框達到最大輸入時,游標自動轉移到下乙個文字框。
[程式說明] 本示例在工作表中有乙個按鈕,單擊按鈕將顯示乙個窗體。窗體上有5個文字輸入框和乙個按鈕,輸入焦點在第乙個文字框,當第乙個文字框中輸入完後,游標自動轉入第二個文字框,依次類推,當最後乙個文字框輸入完成後,「確定」按鈕獲得焦點,單擊或按回車鍵將文字框中的資料輸入到工作表中。單擊「取消」按鈕將關閉窗體。
[程式**]
『單擊工作表上的按鈕,顯示輸入窗體
private sub commandbutton1_click()
userform1.show
end sub
***************************
『各文字框**
private sub textbox1_change()
evaluatetextentry textbox1
end sub
private sub textbox2_change()
evaluatetextentry textbox2
end sub
private sub textbox3_change()
evaluatetextentry textbox3
end sub
private sub textbox4_change()
evaluatetextentry textbox4
end sub
private sub textbox5_change()
evaluatetextentry textbox5
end sub
**************************
『確定按鈕**
private sub donebutton_click()
dim nextrow as long
nextrow = range("a65536").end(xlup).row + 1
with activesheet
.range("a" & nextrow) = textbox1.text
.range("b" & nextrow) = textbox2.text
.range("c" & nextrow) = textbox3.text
.range("d" & nextrow) = textbox4.text
.range("e" & nextrow) = textbox5.text
end with
textbox1 = ""
textbox2 = ""
textbox3 = ""
textbox4 = ""
textbox5 = ""
textbox1.setfocus
end sub
**************************
『取消按鈕**
private sub cancelbutton_click()
unload me
end sub
**************************
『輸入焦點控制**
private sub evaluatetextentry(byval thetextbox)
if len(thetextbox.text) = thetextbox.maxlength then
if thetextbox.name = "textbox5" then
donebutton.setfocus
else
me.controls("textbox" & val(mid(thetextbox.name, 8)) + 1).setfocus
end if
end if
end sub
示例文件見uploadfiles/2006-6/627931716.rar
**********************************
程式15(物件集合)
[程式說明] 本示例建立物件集合並使用所建立的集合。
[程式**]
sub temp()
dim ws as worksheet
dim colmysheets as new collection
dim str as string
『新增工作表名中帶有「c」的工作表到新集合變數中
for each ws in activeworkbook.sheets
if instr(ws.name, "c") > 0 then
colmysheets.add ws
end if
next ws
『顯示新集合中工作表名
for each ws in colmysheets
str = str & ws.name & vblf
next ws
msgbox str
end sub
[程式擴充套件]
(1)『宣告所建立的集合為全域性變數
public colmysheets as new collection
『可以在任何地方初始化所建立的集合變數,如在workbook_open事件中。
sub initcollection()
dim i as long
『對新集合變數進行清理
for i = 1 to colmysheets.count
colmysheets.remove 1
next i
『新增變數
colmysheets.add thisworkbook.sheets("sheet1")
colmysheets.add thisworkbook.sheets("sheet2")
end sub
(2)『可以指定集合在任何程式中或模組中,例如,如果想將工作表名放置在窗體中的列表框中,可在窗體初始化中加入以下**。
private sub userform_initialize()
dim ws as worksheet
for each ws in colmysheets
listbox1.additem ws.name
next ws
end sub
(3)示例工作簿使用了乙個窗體來測試集合,在開啟工作簿時會對工作簿進行初始化,新增新的選單,見[過程15]建立和使用集合變數.xls。
示例文件見uploadfiles/2006-6/627893209.rar
**********************************
程式16(工作表事件)示例文件見uploadfiles/2006-6/627966543.rar
**********************************
程式17(使用者窗體與工作簿)示例文件見uploadfiles/2006-6/627130154.rar
VBA程式集 第3輯
vba程式集 第3輯 程式11 查詢 程式功能 將數值轉換為文字 程式作用 搜尋選中的列,將數值轉變為文字。如果只選擇了乙個單元格,那麼 僅在活動單元格中操作。不能對公式單元格和空單元格操作。程式擴充套件 可以將程式 1和程式 2略加改動,將乙個字元附加到所菜單元格的開頭。如將cell.value ...
VBA語句集100句 第1輯
vba語句集100句 第1輯 我將學習vba過程中常用的語句進行了歸納,希望能對excel愛好者和vba初學者有所幫助.vba語句集 第1輯 定製模組行為 1 option explicit 強制對模組內所有變數進行宣告 單元格 單元格區域 32 activecell.currentregion.s...
第 3 章 共享程式集和強命名程式集
clr 支援兩種程式集 弱命名程式集 weakly named assembly,即無簽名的程式集 和 強命名程式集 strongly named assembly,即帶簽名的程式集 兩者程式集結構完全相同。兩者區別在於,強命名程式集使用發布者的公鑰 私鑰進行了簽名。這一對金鑰允許對程式集進行唯一性...