ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: yclyb

[求助] 请会VBA的朋友帮我做个准考证,问题己在三坛老窖老师帮助下己在18楼解决了,谢谢

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2016-8-29 10:41 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖已被收录到知识树中,索引项:模板和开源系统
givenyang 发表于 2016-8-29 08:57
老师,设置模板的宏无法打开,指定宏里没有这个名称,请问该如何处理呢

1、将下面代码粘贴到模板工作表模块中
Private Sub Worksheet_Deactivate()
    Me.Visible = xlSheetHidden
End Sub
2、将下面代码粘贴到公共模块1中
Sub 设置模板()
    Worksheets("模板").Visible = xlSheetVisible
    Worksheets("模板").Activate
End Sub
3、给按钮【设置模板】指定宏

TA的精华主题

TA的得分主题

发表于 2017-5-16 16:45 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 tajingji 于 2017-5-17 09:22 编辑

三坛老窖老师,看了您前面的帖子受益匪浅,我参照您的代码改成了我需要的形式,但是现在有些问题想再请教您,关于您那个代码中的offest(0, 2)还有后面那些offest的函数,您所设的基点单元格是哪一个呢,感谢!因为我的照片和文字内容在一行显示,所以跟现在这个有些区别,我找不到这个基点,麻烦您了,再次感谢!
准考证2003 - 副本.rar (347.71 KB, 下载次数: 21)
我现在改完点生成准考证的时候,没有任何数据读取过来呢

TA的精华主题

TA的得分主题

发表于 2017-5-17 08:54 | 显示全部楼层
tajingji 发表于 2017-5-16 16:45
三坛老窖老师,看了您前面的帖子受益匪浅,我参照您的代码改成了我需要的形式,但是现在有些问题想再请教您 ...

你说的offset(0,2)是指调用 贴照片 过程所用的第一个参数 rng.Offset(0, 2).Resize(1, 2)中的offset(0,2)吧。它的基点单元格时rng,rng的具体位置是由上面的If……elseif语句计算得到的。例如第一页中的四张准考证中的第一张,rng=A3;第二张,I3;第三张,A17;第四张,I17。

TA的精华主题

TA的得分主题

发表于 2017-5-17 09:25 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
三坛老窖 发表于 2017-5-17 08:54
你说的offset(0,2)是指调用 贴照片 过程所用的第一个参数 rng.Offset(0, 2).Resize(1, 2)中的offset( ...

谢谢三坛老窖老师,我就是这么算的位置,可改完参数后,点生成准考证号的时候没有任何数据生成呢,我这找了半天也没找到问题在哪,还望您抽空帮我看看那个文档指点一下,万分感谢!
我的照片的位置是一个区域,不是一个单元格,这个有影响吗?

TA的精华主题

TA的得分主题

发表于 2017-5-17 11:03 | 显示全部楼层
tajingji 发表于 2017-5-17 09:25
谢谢三坛老窖老师,我就是这么算的位置,可改完参数后,点生成准考证号的时候没有任何数据生成呢,我这找 ...

你将入口过程代码修改后出现了多处错误,将该过程用如下代码替代:

Sub 自动生成准考证()
   
    Dim i&, iRow&, PageCount&, iCount&, arr
    Dim rng As Range
    Dim pbProgBar As FProgressBar
   
    Application.ScreenUpdating = False
   
    iRow = Range("A" & Rows.Count).End(xlUp).Row

    arr = Range("A3:N" & iRow)
   
    删除准考证
   
    PageCount = Application.RoundUp((iRow - 4), 0) / 4
        
    Worksheets("自动生成准考证").Select
   
    If PageCount < 1 Then
        MsgBox "没有数据!", vbCritical, "提示"
    Else  ‘ if PageCount>=SHOW_COUNT then
        使用进程条生成准考证 arr, PageCount
    End If
        
    Application.ScreenUpdating = True
    MsgBox "自动生成准考证执行完毕,请校对!", vbInformation, "提示"
End Sub

改用上面代码后将有照片和数据输出,但位置和格式都有问题,你可根据输出的位置和格式修改你的模板或代码。

TA的精华主题

TA的得分主题

发表于 2017-5-17 15:22 | 显示全部楼层
本帖最后由 tajingji 于 2017-5-17 17:29 编辑
三坛老窖 发表于 2017-5-17 11:03
你将入口过程代码修改后出现了多处错误,将该过程用如下代码替代:

Sub 自动生成准考证()

三坛老师,iRow = Range("A" & Rows.Count).End(xlUp).Row

    arr = Range("A3:N" & iRow)

我要打印的数据是从第二列开始的我给改成了iRow = Range("B" & Rows.Count).End(xlUp).Row

    arr = Range("A3:N" & iRow)

还有这一句PageCount = Application.RoundUp((iRow - 4) / 4, 0) 中我给改成了PageCount = Application.RoundUp((iRow - 2)/ 4, 0)  因为是从第三行数据开始的
另外我改完后每次运行的时候  这句话Sub 使用进程条生成准考证(ByRef arrData, ByVal PageCount As Long) 都会提示 子过程或函数未定义
准考证2003 - 副本.rar (348.3 KB, 下载次数: 19)



TA的精华主题

TA的得分主题

发表于 2017-5-17 20:45 | 显示全部楼层
tajingji 发表于 2017-5-17 15:22
三坛老师,iRow = Range("A" & Rows.Count).End(xlUp).Row

    arr = Range("A3:N" & iRow)

捕获.JPG

问题在红圈中!

TA的精华主题

TA的得分主题

发表于 2017-5-18 11:09 | 显示全部楼层

太感谢您了,我这晕的只看代码了,就没注意我自己标的这些备注。
按您的提醒改完后已经可以正常运行了,再次感谢,祝您生活愉快!

TA的精华主题

TA的得分主题

发表于 2018-3-11 11:13 | 显示全部楼层
三坛老窖 发表于 2012-1-4 20:49
在2003下做的,这个应该能行。
----------------------------------------------------------------

请三坛老师看下我的这个批量打印,也是出现了第二页格式不对的问题,不知道如何解决 http://club.excelhome.net/thread-1400676-1-1.html

TA的精华主题

TA的得分主题

发表于 2020-6-18 11:20 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-24 14:53 , Processed in 0.034077 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表