So automatisieren Sie ein VB-Skript

So automatisieren Sie ein VB-Skript

Ich habe diesen Code:

Sub NewYearData()
    Dim wb1 As Workbook, wb2 As Workbook
    Dim r1 As Range, r2 As Range
    Dim addy As String, sh As Worksheet
    Dim shName As String
    
    Set wb1 = Workbooks("PreviousYear.xlsm")
    Set wb2 = Workbooks("CurrentYear2.xlsx")
    addy = "C16:AH18"
    
    For Each sh In wb1.Sheets
        shName = sh.Name
        Set r1 = sh.Range(addy)
        Set r2 = wb2.Sheets(shName).Range(addy)
        r1.Copy r2
    Next sh
    
End Sub

Hier ist eine feste Position für Zellen, die ich kopieren muss. In einigen Blättern ist die Position anders, daher muss ich alle Zellen finden, die Verweise auf eine externe Datei und ein Blatt haben, wie: 'D:\Data\[Data_1990-2019.xlsx]Set01'!D105

Frage: Wie finde ich alle Zellen, die Referenzen enthalten, und kopiere nur diese Zellen in eine neue Datei?

Antwort1

Der folgende Code wurde aus dem Artikel kopiert
Wie finde und liste ich alle Links (externe Referenzen) in Excel auf?

For Each xSheet In Worksheets
    Set xRg = xSheet.UsedRange.SpecialCells(xlCellTypeFormulas)
    If xRg Is Nothing Then GoTo LblNext
    For Each xCell In xRg
        If InStr(1, xCell.Formula, "[") > 0 Then
            ...
       End If
    Next
LblNext:

Sie können den obigen InStrAufruf Ihren Bedürfnissen entsprechend anpassen.

verwandte Informationen