作者viskboy (qa)
看板Office
標題[問題] excel vba 篩選後資料匯出圖片
時間Sat Mar 23 12:37:58 2024
(若是和其他不同軟體互動之問題 請記得一併填寫)
軟體: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
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.239.230 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Office/M.1711168682.A.9B4.html
1F:→ waiter337: past後面要加上 appliaction.wait now+timevalue(00:00 03/23 12:49
2F:→ waiter337: :01) 電腦太慢可以改等待2秒 03/23 12:49
3F:→ waiter337: 更正 past下面 03/23 12:49
4F:→ waiter337: paste下面 03/23 12:49
5F:→ waiter337: 貼圖會lag 但這裡沒有異步能操作 只能硬等兩秒 03/23 12:50
7F:→ viskboy: 感謝回覆,目前有增加時間執行後狀況一樣。 03/23 15:31
8F:→ viskboy: 逐步執行到paste時顯示空白圖示,往下執行圖片位置儲存才 03/23 15:31
9F:→ viskboy: 有跑出資料圖片。 03/23 15:31
10F:→ rafaiero: 我有類似的問題,我解決的方式是用do迴圈,直到有資料 03/23 17:04
11F:→ rafaiero: 為止才往下執行非常可行唷 03/23 17:04
12F:→ viskboy: 抱歉,本身是vba新手。請問Do迴圈要怎麼寫及位置,謝謝您 03/23 17:16
13F:→ viskboy: 的回覆。還是有範例可以參考,十分感謝您 03/23 17:16
14F:→ rafaiero: do 03/23 17:43
15F:→ rafaiero: “貼上的區間的程式” 03/23 17:43
16F:→ rafaiero: Loop until ChartObjects.Count > 0 03/23 17:43
17F:→ viskboy: 感謝您的回覆。 03/23 23:09
18F:→ viskboy: 問題已解決。.Paste上面插入一句.Parent.Select就能正常 03/24 12:27