Board logo

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

作者: yafeii    時間: 2010-10-11 02:21     標題: 請問如何選取部分活頁表執行另一巨集,並轉成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檔?

以上二段請分成二部分
懇請賜教,謝謝各位~~!!
作者: et5323    時間: 2010-10-11 12:03

大致的框架:
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
作者: yafeii    時間: 2010-10-11 14:49

Dear et5323大大,非常感謝您的回覆,
我試run之後,發現在 With Worksheets(sSht) 發生錯誤,請問應如何修改呢?
謝謝
作者: GBKEE    時間: 2010-10-11 15:02

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

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

问问题最好有附件.
作者: yafeii    時間: 2010-10-12 00:08

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




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)