Tengo este código:
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
Aquí hay una posición fija para las celdas que debo copiar. En algunas hojas, la posición es diferente, por lo que debo encontrar todas las celdas que tengan referencias a un archivo y hoja externos como:
'D:\Data\[Data_1990-2019.xlsx]Set01'!D105
Pregunta: ¿Cómo encontrar todas las celdas que contienen referencias y copiar solo estas celdas en un archivo nuevo?
Respuesta1
El siguiente código está copiado del artículo.
¿Cómo encontrar y enumerar todos los enlaces (referencias externas) en Excel?
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:
Puede adaptar la InStr
convocatoria anterior para que se ajuste a sus necesidades.