Variable de una referencia

Bunas tardes, tengo un archivo resumen 578.xls que hace referencia muchas veces(como 100)  a otro archivo, ejemplo       ='[578-78.xls]O.C.'!$A$6
pero ese archivo  cuando ya esta lleno, lo copio y hago uno nuevo que haga referencia ahora por ejemplo a   ='[579-01.xls]O.C.'!$A$6
Habría alguna manera que cuando entre al archivo, ¿pueda aparecer un cuadro pidiendo el archivo de referencia y que se lo cambie en automático a todas las celdas que hacen referencia?

1 Respuesta

Respuesta
1
Efectivamente hay formas de hacerlo, se me ocurre, usando una macro. Ahora, la forma que se me ocurre, puede tardar mucho si el rango tiene muchas celdas. Pero para un rango que abarque unas 5000 a 10000 celdas, puede tardar un tiempo aceptable (bastante inferior al que te tomarías en cambiar esas 100 referencias)
Vamos al código:
Sub MacroReem()
    Dim strB As String 'Busqueda
    Dim strR As String 'Reemplazo
    strB = InputBox("Buecar en la fórmula")
    strR = InputBox("Reemplazr por...")
    'Si la cadena a buscar no es vacía
    If Trim(strB) <> "" Then
        reemp "C3:G10", strB, strR
    End If
End Sub

Sub reemp(strRango As String, _
          strBuscar As String, _
          strReemplazo As String)
    Dim i As Double
    Dim j As Double
    For i = 1 To Range(strRango).Columns.Count
        For j = 1 To Range(strRango).Rows.Count
            'reemplazar
            Range(strRango).Cells(j, i).formula = Replace(Range(strRango).Cells(j, i). Formula, strBuscar, strReemplazo)
        Next
    Next
End Sub

MacroReem es la macro que debes asignar a un botón. Mientras reemp, es el procedimiento que se lleva el trabajo y es invocado desde MacroReemp.
En MacroReem, está subrayado el rango en el que se genera la búsqueda (en este caso, el rango que se utiliza es C3:G10).
NOTA IMPORTANTE: La macro diferencia entre minúsculas y mayúsculas.
Espero que te sirva o al menos sea una buena referencia para poder solucionar tu problema.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas