Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2859|回复: 3

[已解决]打印时图片不跟着编号改变而发生变化?图片未及时刷新?

[复制链接]
发表于 2014-1-20 07:52 | 显示全部楼层 |阅读模式
本帖最后由 chuxue 于 2014-1-23 12:38 编辑

快照1.jpg
快照2.jpg

按打印按钮,输入打印编号的起止流水号
快照3.jpg
发现打印预览结果编号在变化,可图片都一样
快照4.jpg
快照5.jpg
快照6.jpg
期待各位老师指教,谢谢
打印.part1.rar (481.28 KB, 下载次数: 16)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2014-1-22 08:42 | 显示全部楼层
应该是编号超过15位的缘故吧。
编号是数值型文本,可能在转换过程中,把15位之后的信息丢失变成0了,导致最后出来的都是同一张图片
回复

使用道具 举报

 楼主| 发表于 2014-1-22 09:23 | 显示全部楼层
fffox 发表于 2014-1-22 08:42
应该是编号超过15位的缘故吧。
编号是数值型文本,可能在转换过程中,把15位之后的信息丢失变成0了,导致最 ...

应该不是那样,因为调过代码,表格里显示最后图片,可打印结果都是一个没有变化,看过介绍应该是循环过程图片没有及时刷新,造成循环结束时一张图片,很是纠结,盼望解决,谢谢您的关注。
回复

使用道具 举报

发表于 2014-1-22 18:17 | 显示全部楼层    本楼为最佳答案   
本帖最后由 suye1010 于 2014-1-23 11:30 编辑

Private Sub CommandButton1_Click()
Dim a As String
Dim b As String
Dim ks
Dim js
Dim tm As String
ks = InputBox("请输入起始编号:"): If Len(ks) = 0 Then Exit Sub
js = InputBox("请输入截止编号"): If Len(js) = 0 Then Exit Sub
C = InputBox("你要打印几份?"): If Len(C) = 0 Then Exit Sub

a = Sheets("打印编号").Range("b:b").Find(ks).Row
b = Sheets("打印编号").Range("b:b").Find(js).Row
If a <> b And a <> "" And b <> "" Then
For counter = a To b
  tm = Sheets("打印编号").Cells(counter, 1)
  For Each shp In ActiveSheet.Shapes
    If shp.Type = 13 Then
        shp.Delete
    End If
  Next
    ActiveSheet.Shapes.AddPicture ThisWorkbook.Path & "\照片\" & tm & ".bmp", True, True, 550, 25, 175, 60
    ThisWorkbook.Save
  Range("o5") = counter
  ActiveSheet.PrintOut Copies:=C, Collate:=True
  DoEvents
Next counter
End If
Sheets("套打").Range("o5") = "=MATCH(o6,打印编号!b:b,)"
End Sub
打印.zip (898.03 KB, 下载次数: 5)

评分

参与人数 1 +1 收起 理由
chuxue + 1 赞一个!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-16 01:15 , Processed in 0.384617 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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