问题的提出:一般而言,考场座号都是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+`(重音符),或在“公式”选项卡上的“公式审核”组中,单击“显示公式”按钮。

将示例复制到一个空白工作表中后,可以按照您的需要改编示例。

 
1
2
3

4
5

6
A B
公式 说明(结果)
=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:如何快速填充考场号及座号相关推荐

  1. VBA实战技巧精粹017:如何快速删除空白单元格所在的行

    这个问题应该可以说几乎算不上问题的,就是从后往前逐个单元格进行检查就可以,只要为空,就将该单元格所在行删掉.但今天发现一个更快速的方法,利用specialcells方法,速度更快.冲着这个执行的速度, ...

  2. VBA实战技巧精粹012:查找指定目录下的指定文件及Dir函数用法

    问题:有处理学生评语,限于网络条件,往往学生提交的都是单个文件,这就需要将其一一提取出来,然后进行判断.导出等操作,但首先要解决的就是查找所有文件如何操作,这里需要用到Dir函数,当然创建一个文件搜索 ...

  3. VBA实战技巧精粹004:在工作簿中添加新工作表

    使用Worksheets集合或Sheets集合的Add方法可以实现在指定位置添加新工作表,并且添加后的新工作表自动为活动工作表. Sub 插入新工作表并改名()     With Worksheets ...

  4. VBA实战技巧精粹011:新建只有1张工作表的工作簿

    问题提出:默认情况下,新建工作簿时都是给出3张工作表,如果在让老师们整理一些材料时,不清楚的老师往往乱点,如果一个工作簿只有1张工作表的话,就可以有效地避免这个现象. 解决代码: Sub AddNew ...

  5. excel函数与公式实战技巧精粹_excel函数技巧:两个查询函数的用法比较 下

    编按:今天是VLOOKUP与LOOKUP双雄战的第三回合.在前两个回合中,VLOOKUP旗开得胜,连胜两局.第三回合是交叉查询,LOOKUP能否展开反击止住颓势呢? ----------------- ...

  6. word高效技巧:几个快速填充表格的操作方法

    我们办公人员在面对大量表格数据的时候,都希望以最简便.快捷的方式完成对数据的填充.美化等整理工作. 比如,日常工作中几种常用的Word表格填充类型: 1. 填充序号:2. 填充文本:3. 填充颜色. ...

  7. abb机器人指令手册_ABB机器人实战技巧超强合集

    更多内容请点击上方 ABB机器人实战技巧 关注 也可点击公众号下方 往期经典 浏览更多内容 转载请先后台留言,大家一起支持原创,推动机器人使用和发展 本公众号对各类ABB机器人应用,仿真,毕业设计提供 ...

  8. 微信开挂怎么防止封号_如何防止微信封号的实战技巧?

    大家好,我是思维哥哥,今天给大家详细说说如何防止微信封号的实战技巧 [为什么老封你的号?] 1.四个方面: 硬件设备.微信账号ID.IP和行为 硬件:指微信号登录的设备,几个关键的标识是MAC.IME ...

  9. aspose excel中文文档_Excel实战技巧,如何将阿拉伯数字快速转换为中文大小写格式?...

    Hi,大家好,我是小雨!应诸多网友的需求,从今天起小雨每天为大家讲解一个办公软件(Word.Excel.PPT)实战技巧. 第 001 期:如何将阿拉伯数字快速转换为中文大小写格式 Excel最强大的 ...

  10. Excel小技巧之快速填充单元格的几种快捷键

    1/6 打开Excel,准备好一些数据,教大家Excel小技巧之快速填充单元格的几种快捷键,如下图所示. 2/6 首先如果我们需要在一行中快速填充同样的信息,这些我们只需要在第一个单元格中输入要填充的 ...

最新文章

  1. 深入浅出mfc学习笔记——六大关键技术之仿真_运行时和动态创建
  2. 旅行商问题(Traveling Saleman Problem,TSP)
  3. hyperic hq mysql_网络管理工具Hyperic HQ监控MySQL配置
  4. (05)FPGA入门条件
  5. 微课--Python嵌套函数定义与使用
  6. realtek网卡mac硬改工具_浅谈设备异常、手机硬改参数
  7. Unity3D基础30:协同程序
  8. php更新记录没有获取值,php – 节点更新:获取旧值
  9. ACM/ICPC World Finals 2012 B Curvy Little Bottles
  10. 【thinkphp 基础 3】配合phpstudy进行验证码拓展安装
  11. SPSS Modeler泰坦尼克号幸存者分析
  12. 【在PowerPoint中插入视频的三种方法】
  13. MD5加密解密算法 MD5Utils
  14. 土方工程量计算表格excel_土石方计算电子表格
  15. NLP词向量模型总结:从Elmo到GPT,再到Bert
  16. 田野调查手记·浮山摩崖石刻(六)
  17. oracle数据库优化 -DBA常用Oracle数据库检查报告
  18. EXCEL中的数据分析—抽样分析
  19. mysql weekofmonth_深入mysql YEAR() MONTH() DAYOFMONTH()日期函数的详解
  20. C#实现微信聊天对话框

热门文章

  1. Video Matting:AI视频抠图
  2. 谷歌和火狐FirePath下载
  3. fpv freerider穿越机模拟器怎么和HTC Vive vr 设备连接配置
  4. 如何在软件里显示编译时间?__DATE__和__TIME__
  5. 事业单位计算机常识PPT,计算机基础知识:PPT常用操作(六)
  6. python参考手册下载_Python中文手册【Word版 】
  7. word论文排版插件_Word自动排版软件
  8. JAVA之stream汪文君_Java进阶篇之十五 ----- JDK1.8的Lambda、Stream和日期的使用详解(很详细)...
  9. maven配置访问nexus私服,从nexus私服下载依赖
  10. 四维星装饰选材软件免费版