如何使我的saveas&breaklink宏正常工作

时间:2018-12-02 21:35:30

标签: excel vba excel-vba

我一直试图将一个宏串在一起,以将几个工作表保存到各种文件中,并随后断开链接-保存文件部分有效,但是无论我尝试了什么,目标工作簿文件中的链接均保持有效。有人可以告诉我我在这里想念的吗?

Sub Sheet_SaveAs()
    Application.ScreenUpdating = False
    Dim wb As Workbook
    Dim Sh As Worksheet
    Dim strSaveName As String
    Set Sh = ThisWorkbook.Sheets("Dealers")

    Dim i As Integer
    Dim LAST_ROW As Integer
    Dim Data As String

    LAST_ROW = Application.WorksheetFunction.CountA(Sh.Range("A:A"))

    For i = 2 To LAST_ROW
        Worksheets("New Sales Performance").Range("B1").Value = Sh.Range("a" & i)

        Worksheets("Bonus Calc Horiz").Range("C4").Value = Sh.Range("a" & i)

        Sheets(Array("New Sales Performance", "Bonus Calc Horiz")).Copy
        Set wb = ActiveWorkbook
        With wb
            .SaveAs ThisWorkbook.Path & "\Test\" & Sh.Range("a" & i) & ".xlsm", FileFormat:=52
            Call breaklinks(wb)
            .Close False
        End With

    Next i
    Application.ScreenUpdating = True
End Sub

Sub breaklinks(wb As Workbook)
    Dim ExternalLinks As Variant
    Dim x As Long

    ExternalLinks = wb.LinkSources(Type:=xlLinkTypeExcelLinks)

    For x = 1 To UBound(ExternalLinks)
        wb.BreakLink Name:=ExternalLinks(x), Type:=xlLinkTypeExcelLinks
    Next x
End Sub

0 个答案:

没有答案