[问题] excel vba 筛选后资料汇出图片

楼主: viskboy (qa)   2024-03-23 12:37:58
(若是和其他不同软件互动之问题 请记得一并填写)
软件:excel
版本:2016
目前依照搜寻使用以下程式执行时,汇出的图片是空白没有对应的资料;但是使用F8一步一步执行汇出的图片就正常。
请问有什么地方需要修改吗?谢谢
Sub 自动筛选截图程式()
Set NAMESHEET = Sheets("工作表2")
Set CSHEET = Sheets("工作表1")
Crow = NAMESHEET.Range("A" & Cells.Rows.Count).End(xlUp).Row
'计算第A栏有几行(列),以利后面使用
For j = 1 To Crow
'从哪行起始
Name = NAMESHEET.Cells(j, 1)
'工作表2的A栏
CSHEET.Rows(1).AutoFilter 1, Name '*** 请修改你的自动筛选条件 ***
'Name为变量
'Rows跟Autofilter都是在指筛选器的选取位置
CSHEET.UsedRange.CopyPicture '使用范围储存格的萤幕影像复制到剪贴簿
With ActiveSheet
With .ChartObjects.Add(1, 1, .UsedRange.Width, .UsedRange.Height)
.Chart.Paste '贴上 图片
.Chart.Export Filename:="D:\" & "TEST\" & Name & ".jpg"
'需修改路径(图片存盘位置)
.Chart.Parent.Delete
End With
.Rows(1).AutoFilter
End With
Next j
Application.ScreenUpdating = True
MsgBox "跑好了", vbOKOnly
End Sub
作者: waiter337 (给开司一罐苏格登)   2024-03-23 12:49:00
past后面要加上 appliaction.wait now+timevalue(00:00:01) 电脑太慢可以改等待2秒更正 past下面paste下面贴图会lag 但这里没有异步能操作 只能硬等两秒https://forum.twbts.com/thread-24167-1-3.html
楼主: viskboy (qa)   2024-03-23 15:31:00
感谢回复,目前有增加时间执行后状况一样。逐步执行到paste时显示空白图示,往下执行图片位置储存才有跑出资料图片。
作者: rafaiero (路人甲)   2024-03-23 17:04:00
我有类似的问题,我解决的方式是用do循环,直到有资料为止才往下执行非常可行唷
楼主: viskboy (qa)   2024-03-23 17:16:00
抱歉,本身是vba新手。请问Do循环要怎么写及位置,谢谢您的回复。还是有范例可以参考,十分感谢您
作者: rafaiero (路人甲)   2024-03-23 17:43:00
do“贴上的区间的程式”Loop until ChartObjects.Count > 0
楼主: viskboy (qa)   2024-03-23 23:09:00
感谢您的回复。问题已解决。.Paste上面插入一句.Parent.Select就能正常

Links booklink

Contact Us: admin [ a t ] ucptt.com