Al escribir fórmulas debemos evitar siempre que podamos anidar funciones SI (sobre todo cuando tenemos información que se repite).
Por favor, prueba la siguiente fórmula:
=SI.ERROR(
LET(
id, B3,
fecha_ref, F3,
rango_ids, '[Base Snte 05 Coah 2.xlsx]Pagos'!$F$2:$F$10000,
rango_fechas, '[Base Snte 05 Coah 2.xlsx]Pagos'!$K$2:$K$10000,
rango_resultado, '[Base Snte 05 Coah 2.xlsx]Pagos'!$D$2:$D$10000,
diferencia, ABS(rango_fechas - fecha_ref),
filtro, (rango_ids = id) * diferencia,
min_dif, MIN.SI.CONJUNTO(diferencia, rango_ids, id),
fila, COINCIDIR(min_dif, filtro, 0),
INDICE(rango_resultado, fila)
),
"No encontrado")Coméntanos si funciona.
Por
Sergio, · publicado
como puedo modificar este codigo de pegado de un libro a otro libro ejecutandose a partir de la celda ax1 a cw 42
Sub Macro40() ' ' Macro40 Macro ' ' ActiveCell.Select Windows("programa 4 cifras 1.xlsm").Activate ActiveCell.Offset(-36, -2).Range("A1:D6").Select Selection.Copy Windows("Analisis2018.xlsm").Activate Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Windows("programa 4 cifras 1.xlsm").Activate Application.CutCopyMode = False Calculate Selection.Copy Windows("Analisis2018.xlsm").Activate ActiveCell.Offset(6, 0).Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Windows("programa 4 cifras 1.xlsm").Activate Application.CutCopyMode = False Calculate Selection.Copy Windows("Analisis2018.xlsm").Activate ActiveCell.Offset(6, 0).Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Windows("programa 4 cifras 1.xlsm").Activate Application.CutCopyMode = False Calculate Selection.Copy Windows("Analisis2018.xlsm").Activate ActiveCell.Offset(6, 0).Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Windows("programa 4 cifras 1.xlsm").Activate Application.CutCopyMode = False Calculate Selection.Copy Windows("Analisis2018.xlsm").Activate ActiveCell.Offset(6, 0).Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Windows("programa 4 cifras 1.xlsm").Activate Application.CutCopyMode = False Calculate Selection.Copy Windows("Analisis2018.xlsm").Activate ActiveCell.Offset(6, 0).Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Windows("programa 4 cifras 1.xlsm").Activate Application.CutCopyMode = False Calculate Selection.Copy Windows("Analisis2018.xlsm").Activate ActiveCell.Offset(6, 0).Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Windows("programa 4 cifras 1.xlsm").Activate Application.CutCopyMode = False Calculate Selection.Copy Windows("Analisis2018.xlsm").Activate ActiveCell.Offset(-36, 4).Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Windows("programa 4 cifras 1.xlsm").Activate Application.CutCopyMode = False Calculate Selection.Copy Windows("Analisis2018.xlsm").Activate ActiveCell.Offset(6, 0).Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Windows("programa 4 cifras 1.xlsm").Activate Application.CutCopyMode = False Calculate Selection.Copy Windows("Analisis2018.xlsm").Activate ActiveCell.Offset(6, 0).Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Windows("programa 4 cifras 1.xlsm").Activate Application.CutCopyMode = False Calculate Selection.Copy Windows("Analisis2018.xlsm").Activate ActiveCell.Offset(6, 0).Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Windows("programa 4 cifras 1.xlsm").Activate Application.CutCopyMode = False Calculate Selection.Copy Windows("Analisis2018.xlsm").Activate ActiveCell.Offset(6, 0).Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Windows("programa 4 cifras 1.xlsm").Activate Application.CutCopyMode = False Calculate Selection.Copy Windows("Analisis2018.xlsm").Activate ActiveCell.Offset(6, 0).Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Windows("programa 4 cifras 1.xlsm").Activate Application.CutCopyMode = False Calculate Selection.Copy Windows("Analisis2018.xlsm").Activate ActiveCell.Offset(6, 0).Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Windows("programa 4 cifras 1.xlsm").Activate Application.CutCopyMode = False Calculate Selection.Copy Windows("Analisis2018.xlsm").Activate ActiveCell.Offset(-36, 4).Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Windows("programa 4 cifras 1.xlsm").Activate Application.CutCopyMode = False Calculate Selection.Copy Windows("Analisis2018.xlsm").Activate ActiveCell.Offset(6, 0).Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Windows("programa 4 cifras 1.xlsm").Activate Application.CutCopyMode = False Calculate Selection.Copy Windows("Analisis2018.xlsm").Activate ActiveCell.Offset(6, 0).Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Windows("programa 4 cifras 1.xlsm").Activate Application.CutCopyMode = False Calculate Selection.Copy Windows("Analisis2018.xlsm").Activate ActiveCell.Offset(6, 0).Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Windows("programa 4 cifras 1.xlsm").Activate Application.CutCopyMode = False Calculate Selection.Copy