某校進行了一次考試,考試成績按照學生的學號依次輸入到excel工作簿中。後來學校決定從所有的學生中,抽出考分大於500分的學生,進行一次集中學習,然後去參加省某科的知識競賽。這個過程可使用vba語句,對學生的成績進行判斷,並將大於500分的學生資訊複製到另乙個工作表中。
1.練習要點
● **
● 複製
2.操作步驟:
(1)在工作表sheet1的單元格a列至k列中,輸入相應的資訊,並設定單元格的格式,如圖14-7所示。
圖14-7 設定工作表sheet1
(2)在工作表sheet2的單元格a列到k列中,輸入相應的資訊,並設定單元格的格式,如圖14-8所示。
圖14-8 設定工作表sheet2
(3)在工作表中,新增【命令按鈕(activex控制項)】,並設定該按鈕的caption屬性的值為「複製」,如圖14-9所示。
圖14-9 設定屬性
(4)雙擊【複製】按鈕,進入該控制項的click事件【**】編輯視窗中,並輸入實現事件的**(事件實現將大於500分的學生資訊複製到sheet2中)。如圖14-10所示。
圖14-10 sheet1【**】編輯視窗
**如下:
private sub commandbutton1_click()
dim i as integer
i = 4
do while 1
'判斷是否到記錄尾
if "a" & trim(str(i))).value = "" then
exit do '退出
else
x1 = val("h" & trim(str(i))).value)
x2 = val("i" & trim(str(i))).value)
x3 = val("j" & trim(str(i))).value)
x4 = val("k" & trim(str(i))).value)
x5 = x1 + x2 + x3 + x4
判斷4科成績
if x5 > 500 then
copyrange (i) '複製記錄過程
end if
end if
i = i + 1
loop
end sub
'複製記錄
sub copyrange(r as integer)
dim i as integer
i = 3
do while 1
if "a" & trim(str(i))).value = "" then
"a" & trim(str(i))).value = "a" & trim(str(r))).value
"b" & trim(str(i))).value = "b" & trim(str(r))).value
"c" & trim(str(i))).value = "c" & trim(str(r))).value
"d" & trim(str(i))).value = "d" & trim(str(r))).value
"e" & trim(str(i))).value = "e" & trim(str(r))).value
"f" & trim(str(i))).value = "f" & trim(str(r))).value
"g" & trim(str(i))).value = "g" & trim(str(r))).value
"h" & trim(str(i))).value = "h" & trim(str(r))).value
"i" & trim(str(i))).value = "i" & trim(str(r))).value
"j" & trim(str(i))).value = "j" & trim(str(r))).value
"k" & trim(str(i))).value = "k" & trim(str(r))).value
exit do
end if
i = i + 1
loop
end sub
(5)返回到excel,在【開發工具】選項卡中,單擊【控制項】組中的【設計模式】按鈕,取消工作簿的設計模式。
(6)單擊【複製】按鈕,將滿足條件的學生的資訊複製到sheet2中,如圖14-11所示。
圖14-11 滿足條件的資訊
Excel VBA程式設計動態陣列
在有些情況下,使用者也許不清楚需要多大的陣列,這時就需要用乙個能夠改變大小的陣列,這就是動態陣列。動態陣列可以在任何時候改變大小。在vba中,動態陣列是最靈活 最方便的一種陣列。利用動態陣列還有助於有效管理記憶體,因為動態陣列是使用時才開闢記憶體空間,在不使用這個陣列時,還可以將記憶體空間釋放給系統...
Excel VBA程式設計VBE的組成
vbe必須借助excel或其他office元件才能使用。啟動excel 2007後,單擊 組中的visual basic按鈕,則彈出vbe視窗。其中,在vbe視窗中,主要由工具欄 選單欄和4個視窗組成,以幫助使用者建立和管理應用程式。使用者可以通過單擊工具欄中的按鈕或者執行選單欄中的命令,訪問其功能...
ExcelVBA例項教程027自動建立工作表目錄
如果在工作簿中有許多任務作表,使用時往往會建立一張目錄表並插入超連結以方便選擇工作表。但是如果工作簿中的工作表經常新增和刪除,使用手工建立目錄很不方便,此時可以使用工作表的activate事件自動建立工作表的目錄,如下面的 所示。1.private sub worksheet activate 2....