Excel中快速定位的技巧實例 (2008-11-07)
操作提速 Excel裡隨心所欲輸小數! (2008-11-05)
兩種方法隨你挑!用Excel2007做成績表排序 (2008-10-31)
Excel技巧:Excel2007的單元格定位快捷鍵 (2008-10-29)
用好精緻美觀的Excel2007文檔主題樣式 (2008-10-27)
Excel 2007無法安裝加載項解決辦法 (2008-10-22)
更改多個Excel文檔數據合併計算 (2008-10-20)
把Excel裡的一列數據快速轉成多列數據 (2008-10-20)
Excel 2007單元格內容的移動或複製 (2008-10-17)
Excel經典實用操作技巧35招 (2008-10-15)
微軟Office Excel使用中的種種限制 (2008-10-15)
Office Excel技巧之返回排序前的表格 (2008-10-15)
辦公小技巧 如何複製保留源列寬Excel表格 (2008-10-15)
在Excel中讓你填充不連續的單元格 (2008-10-08)
Excel2007數字格式與文本格式互轉 (2008-10-07)
為Excel2007數據設置只讀和修改密碼 (2008-09-02)
Excel經典實用技巧35招 (2008-09-02)
探尋Excel中正確輸入分數的秘密! (2008-08-22)
Excel 2007中內容重排功能的應用! (2008-08-22)
多版本Office如何設定默認打開方式 (2008-08-01)
Excel2007中的單元格定位快捷鍵 (2008-07-28)
介紹如何利用VBA輕鬆實現成績分析表的特殊排序,先看下面的實例。
圖1是一張已經分析好的成績分析表,可教務主任要求:要把各班各門學科所在年級的名次加在均分後,那樣一看就一目瞭然了。以前都是用眼睛觀察,然後將名次手工添加到均分後面,但成績一經修改就不得不重新再分析了,非常麻煩。 網管朋友網www_bitscn_net
大家知道,用Excel提供的升序和降序工具可以實現各學科的均分排序,但排序後,班級的順序就亂了。如果通過排序獲取均分的名次再恢復對班級的排序,這樣是可行的,但八、九門學科一列一列地操作,工作量非常大,還容易出錯。而且成績修改後,還得重複勞動。後來筆者用一段VBA代碼實現了這一要求。
網管u家u.bitsCN.com
用控件工具箱中的「按鈕」工具畫一個命令按鈕,將其「Caption」 屬性值改為「均分排序」,雙擊該按鈕,在其Click事件中輸入如下代碼:
Private Sub CommandButton1_Click()
Dim myarray()
Dim m, n, i, j As Integer
n = Application.WorksheetFunction.CountA(Columns(1))
'從第二列到第八列一共循環七次
For m = 2 To 8
'給數組賦值
ReDim myarray(n)
For i = 3 To n
myarray(i) = Cells(i, m).Value
Next i
'用冒泡排序法對數組中的元素進行排序操作
For j = 0 To n - 1
For i = 0 To n - 1 - j
If myarray(i) 〈 myarray(i + 1) Then
temp = myarray(i)
myarray(i) = myarray(i + 1)
myarray(i + 1) = temp
End If
Next
Next
'將各數值在列中的排名加括號後添加到原單元格的數值後面,中間空一個空格
For i = 3 To n
Cells(i, m).Value = Cells(i, m).Value && Space(1) && '(' && Application.WorksheetFunction.Match(Cells(i, m), myarray, -1) && ')'
中國網管論壇bbs.bitsCN.com
Next i
Next m
'主體程序執行完畢
'使各列的寬度與單元格的大小相適應
Cells.Select
Selection.Columns.AutoFit
'禁止該按鈕功能(防止被再次點擊)
CommandButton1.Enabled = False
MsgBox '排序完成,該操作只能執行一次!', vbOKOnly, '提示框'
End Sub
關閉代碼窗口返回到Excel工作表中,在運行模式下單擊〔均分排序〕按鈕,我們就會看到,各班各學科均分在年級中的名次已自動添加到相應的單元格中了(如圖2)。
網管u家www.bitscn.net
網管bitscn_com
添加名次後,程序已設定了自動擴充單元格的大小以適應單元格中的內容。另外,為了防止用戶多次點擊〔均分排序〕按鈕,該按鈕在程序執行完後即被設為無效,若要再次修改本程序,只需將該按鈕的「Enabled」屬性值設為「True」就可以了。
【转自www.bitsCN.com】
2008年3月29日 星期六
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言