日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

VBA实战技巧精粹019:如何快速填充考场号及座号

發布時間:2023/12/10 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VBA实战技巧精粹019:如何快速填充考场号及座号 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題的提出:一般而言,考場座號都是1至30號,如果考場數較少的話,完全可以采用鼠標操作,但是如果考場數太多,尤其是在填充考場號時才是麻煩!!比如高考考場的安排,那工作量可想而知,以前都是鼠標操作的方式進行,感覺特別別扭,現在想著用VBA實現自動操作。

實現的思路:先計算出共有多少個學生需要編排考場,然后利用ceiling函數取得向上的最小整數,即為考場數。利用考場數即為需要循環操作的次數即可實現。

源代碼如下:

Sub 自動填充座號及考場號()
' 實現可以自動填充座號,關鍵是在不足30人的考場中如何實現按實際人數進行填充
??? Dim i As Integer, totalR As Integer, k As Integer, j As Integer
??? i = Application.WorksheetFunction.Ceiling((Range("A65536").End(xlUp).Row - 1) / 30, 1)
??? For k = 1 To i
??????? For j = 2 + (k - 1) * 30 To 31 + (k - 1) * 30
??????????? Cells(j, 2).Value = j - (k - 1) * 30 - 1? '第2列填充座號。
??????????? Cells(j, 3).Value = k? '第3列填充考場號。
??????????? Cells(j, 4).Value = Worksheets("sheet2").Cells(k, 1).Value '利用事先準備的考場位置進行填充
??????? Next j
??? Next k
??? Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete '利用第1列為姓名或其它,將為空的單元格所在行刪除即為最終結果
End Sub

解釋如下:

首先,為什么在((Range("A65536").End(xlUp).Row - 1) / 30, 1)中要減去1呢?因為有列標題嘛。

其次,用到了Ceiling函數,為Excel工作表函數,作用是取得向上的整數。

說明

將參數 Number 向上舍入(沿絕對值增大的方向)為最接近的 significance 的倍數。例如,如果您不愿意使用像“分”這樣的零錢,而所要購買的商品價格為 ¥4.42,可以用公式 =CEILING(4.42,0.05) 將價格向上舍入為以“角”表示。

語法

CEILING(number, significance)

CEILING 函數語法具有下列參數 (參數:為操作、事件、方法、屬性、函數或過程提供信息的值。)

  • Number????必需。要舍入的值。
  • Significance????必需。要舍入到的倍數。

說明

  • 如果參數為非數值型,CEILING 返回錯誤值 #VALUE!。
  • 無論數字符號如何,都按遠離 0 的方向向上舍入。如果數字已經為 Significance 的倍數,則不進行舍入。
  • 如果 number 和 significance 都為負,則對值按遠離 0 的方向進行向下舍入。
  • 如果 number 為負,significance 為正,則對值按朝向 0 的方向進行向上舍入。

示例

如果將示例復制到一個空白工作表中,可能會更容易理解該示例。

如何復制示例?

  • 選擇本文中的示例。

?要點???不要選擇行或列標題。

從“幫助”中選擇示例
  • 按 Ctrl+C。
  • 在 Excel 中,創建一個空白工作簿或工作表。
  • 在工作表中,選擇單元格 A1,然后按 Ctrl+V。

?要點???若要使該示例能夠正常工作,必須將其粘貼到工作表的單元格 A1 中。

  • 要在查看結果和查看返回結果的公式之間進行切換,請按 Ctrl+`(重音符),或在“公式”選項卡上的“公式審核”組中,單擊“顯示公式”按鈕。

將示例復制到一個空白工作表中后,可以按照您的需要改編示例。

123
4
5
6
?
AB
公式說明(結果)
=CEILING(2.5, 1)將 2.5 向上舍入到最接近的 1 的倍數 (3)
=CEILING(-2.5, -2)將 -2.5 向上舍入到最接近的 -2 的倍數 (-4)
=CEILING(-2.5, 2)將 -2.5 向上舍入為最接近的 2 的倍數 (-2)
=CEILING(1.5, 0.1)將 1.5 向上舍入到最接近的 0.1 的倍數 (1.5)
=CEILING(0.234, 0.01)將 0.234 向上舍入到最接近的 0.01 的倍數 (0.24)
43 Things: Excel VBA
BuzzNet: Excel VBA
del.icio.us: Excel VBA
Flickr: Excel VBA
IceRocket: Excel VBA
LiveJournal: Excel VBA
Technorati: Excel VBA

轉載于:https://www.cnblogs.com/xiehui/archive/2011/08/13/2136917.html

總結

以上是生活随笔為你收集整理的VBA实战技巧精粹019:如何快速填充考场号及座号的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。