Excel VBA程式設計典型例項 複製工作表

2022-03-10 00:48:43 字數 2158 閱讀 7637

某校進行了一次考試,考試成績按照學生的學號依次輸入到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....