返回列表 上一主題 發帖

[發問] 請問如何選取部分活頁表執行另一巨集,並轉成PDF檔,謝謝!!

[發問] 請問如何選取部分活頁表執行另一巨集,並轉成PDF檔,謝謝!!

各位大大,大家好,我是VB新手,
請教各位高手前輩,
小妹的excel包含了以下幾個sheet:  AA,BB,CC.1.2.3.4.5.....K (K表示一數字,但每次使用此excel時會產生的K值不一定)
而1~K這些數字同時在AA活頁表的A5,A6,A7...以此類推(由於AA活頁表A1~A4有其他資料,所以A5=1,A6=2....)
請問以下二個問題:
1.請問如何使1~K活頁表均執行另一巨集Macro甲?
2.請問如何選取1~K活頁表並儲存成PDF檔?

以上二段請分成二部分
懇請賜教,謝謝各位~~!!

大致的框架:
Dim rng As Range
    Dim sSht As String, sWk As String
    With Worksheets("AA")
        For Each rng In .Range("a5:a" & .[a65536].End(xlUp).Row)
            sSht = "CC." & rng.Value
            With Worksheets(sSht)
                Macro甲
                sWk = ThisWorkbook.Path & "\" & sSht
                If Dir(sWk) <> "" Then Kill sWk
                .ExportAsFixedFormat Type:=xlTypePDF, Filename:=sWk, _
                Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
            End With
        Next
    End With

TOP

Dear et5323大大,非常感謝您的回覆,
我試run之後,發現在 With Worksheets(sSht) 發生錯誤,請問應如何修改呢?
謝謝

TOP

回復 3# yafeii
問題在Macro甲 執行時是否將作用中的活頁簿轉移到另一個活頁簿中 會造成錯誤的
建議加上活頁簿的名稱試試看
With Workbooks("???").Worksheets(sSht)

TOP

也有可能是在代码所在活頁簿中根本就不存在Worksheets("cc.?")造成的.可以在代码的前面加一句:on error resume next;或先进行判断Worksheets("cc.?")是否存在,再执行代码.

问问题最好有附件.

TOP

感謝et5323及GBKEE,受益很多..

TOP

        靜思自在 : 甘願做、歡喜受。
返回列表 上一主題