Macro para copiar rango y escribir fecha, reemplazando los datos si la fecha ya existe.
    Sub Botón155_Haga_clic_en()
    Application.ScreenUpdating = False
    Dim origen1 As Range
    Dim origen2 As Range
    Dim destino1 As Range
    Dim destino2 As Range
    Dim fecha As Date
    Dim celda As Range
    Dim hojaHistorico As Worksheet
    Dim protegida As Boolean
    ' Desproteger la hoja "Histórico" si está protegida
    Set hojaHistorico = ThisWorkbook.Sheets("Histórico")
    If hojaHistorico.ProtectContents Then
        protegida = True
        hojaHistorico.Unprotect
    End If
    ' Definir el rango de origen 1 en la hoja "Turnos"
    Set origen1 = Sheets("Turnos").Range("I2:J16")
    ' Definir el rango de origen 2 en la hoja "Turnos"
    Set origen2 = Sheets("Turnos").Range("K2:K16")
    ' Definir el rango de destino 1 en la hoja "Histórico"
    Set destino1 = hojaHistorico.Range("F" & hojaHistorico.Rows.Count).End(xlUp).Offset(1)
    ' Definir el rango de destino 2 en la hoja "Histórico"
    Set destino2 = hojaHistorico.Range("D" & hojaHistorico.Rows.Count).End(xlUp).Offset(1)
    ' Escribir la fecha actual en todas las celdas de la columna "B" correspondientes, reemplazando la fecha existente si ya existe
    fecha = Date
    For Each celda In destino1.Offset(0, -4).Resize(origen1.Rows.Count)
        If IsDate(celda.Value) Then
            celda.Value = fecha
        Else
            celda.Value = fecha
        End If
    Next celda
    ' Copiar y pegar los valores del rango 1
 origen1. Copy
 destino1. PasteSpecial xlPasteValues
    ' Copiar y pegar los valores del rango 2
 origen2. Copy
 destino2. PasteSpecial xlPasteValues
    Range("A1").Select
    ' Limpiar el portapapeles
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
    ' Volver a la hoja "Turnos"
    Range("A1").Select
    Sheets("Turnos").Select
    ' Volver a proteger la hoja "Histórico" si estaba protegida
    If protegida Then
        hojaHistorico.Protect
    End If
End SubCon la anterior macro, pretendo copiar los datos que hay en el rango "I2:J16", también los datos del rango "K2:K16" y pegarlos en una hoja llamada "Histórico", en la siguiente celda vacía de la columna "F", los datos de "I2:J16" y en la siguiente celda vacía de la columna "D" de esa misma hoja, los datos del rango "K2:k16". Una vez esto, quiero que en la siguiente celda vacía de la columna "B", se copie la fecha del día de hoy, pero si por algún motivo la fecha del día de hoy, ya existe, ese rango debe ser reemplazado y no agregado en la siguiente celda vacía como está pasando en mi macro.
Espero contar con su valiosa colaboración para mejorar, optimizar la macro, hacerla más rápida y eficiente y lo más importante, lograr que no se sigan agregando valores con la misma fecha, sino que el rango donde ya esté la fecha de hoy, se reemplace.



