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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

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

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

問(wèn)題的提出:一般而言,考場(chǎng)座號(hào)都是1至30號(hào),如果考場(chǎng)數(shù)較少的話,完全可以采用鼠標(biāo)操作,但是如果考場(chǎng)數(shù)太多,尤其是在填充考場(chǎng)號(hào)時(shí)才是麻煩!!比如高考考場(chǎng)的安排,那工作量可想而知,以前都是鼠標(biāo)操作的方式進(jìn)行,感覺(jué)特別別扭,現(xiàn)在想著用VBA實(shí)現(xiàn)自動(dòng)操作。

實(shí)現(xiàn)的思路:先計(jì)算出共有多少個(gè)學(xué)生需要編排考場(chǎng),然后利用ceiling函數(shù)取得向上的最小整數(shù),即為考場(chǎng)數(shù)。利用考場(chǎng)數(shù)即為需要循環(huán)操作的次數(shù)即可實(shí)現(xiàn)。

源代碼如下:

Sub 自動(dòng)填充座號(hào)及考場(chǎng)號(hào)()
' 實(shí)現(xiàn)可以自動(dòng)填充座號(hào),關(guān)鍵是在不足30人的考場(chǎng)中如何實(shí)現(xiàn)按實(shí)際人數(shù)進(jìn)行填充
??? 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列填充座號(hào)。
??????????? Cells(j, 3).Value = k? '第3列填充考場(chǎng)號(hào)。
??????????? Cells(j, 4).Value = Worksheets("sheet2").Cells(k, 1).Value '利用事先準(zhǔn)備的考場(chǎng)位置進(jìn)行填充
??????? Next j
??? Next k
??? Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete '利用第1列為姓名或其它,將為空的單元格所在行刪除即為最終結(jié)果
End Sub

解釋如下:

首先,為什么在((Range("A65536").End(xlUp).Row - 1) / 30, 1)中要減去1呢?因?yàn)橛辛袠?biāo)題嘛。

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

說(shuō)明

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

語(yǔ)法

CEILING(number, significance)

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

  • Number????必需。要舍入的值。
  • Significance????必需。要舍入到的倍數(shù)。

說(shuō)明

  • 如果參數(shù)為非數(shù)值型,CEILING 返回錯(cuò)誤值 #VALUE!。
  • 無(wú)論數(shù)字符號(hào)如何,都按遠(yuǎn)離 0 的方向向上舍入。如果數(shù)字已經(jīng)為 Significance 的倍數(shù),則不進(jìn)行舍入。
  • 如果 number 和 significance 都為負(fù),則對(duì)值按遠(yuǎn)離 0 的方向進(jìn)行向下舍入。
  • 如果 number 為負(fù),significance 為正,則對(duì)值按朝向 0 的方向進(jìn)行向上舍入。

示例

如果將示例復(fù)制到一個(gè)空白工作表中,可能會(huì)更容易理解該示例。

如何復(fù)制示例?

  • 選擇本文中的示例。

?要點(diǎn)???不要選擇行或列標(biāo)題。

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

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

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

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

123
4
5
6
?
AB
公式說(shuō)明(結(jié)果)
=CEILING(2.5, 1)將 2.5 向上舍入到最接近的 1 的倍數(shù) (3)
=CEILING(-2.5, -2)將 -2.5 向上舍入到最接近的 -2 的倍數(shù) (-4)
=CEILING(-2.5, 2)將 -2.5 向上舍入為最接近的 2 的倍數(shù) (-2)
=CEILING(1.5, 0.1)將 1.5 向上舍入到最接近的 0.1 的倍數(shù) (1.5)
=CEILING(0.234, 0.01)將 0.234 向上舍入到最接近的 0.01 的倍數(shù) (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

轉(zhuǎn)載于:https://www.cnblogs.com/xiehui/archive/2011/08/13/2136917.html

總結(jié)

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

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。