Sigue las Instrucciones para poner la macro en worksheet
1. Abre tu hoja de excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(Resultado)
4. Del lado derecho copia la macro
Private Sub Worksheet_Change(ByVal Target As Range)
'Por.DAM
rangos = Array("D8:H8", "I8:M8", "N8:R8")
destinos = Array("D4", "D10", "D16")
For i = LBound(destinos) To UBound(destinos)
Sheets("plantilla").Range(destinos(i)) = ""
Next
For i = LBound(rangos) To UBound(rangos)
c = 0
For Each celda In Range(rangos(i))
If celda <> "" Then
c = c + 1
valor = celda
If c > 1 Then Exit For
End If
Next
If c = 1 Then Sheets("plantilla").Range(destinos(i)) = valor
Next
End Sub
Indicaciones :
Si quieres otros rangos o más rangos u otras celdas destinos, cambia la macro, en estas líneas
rangos = Array("D8:H8", "I8:M8", "N8:R8")
destinos = Array("D4", "D10", "D16")
Ejemplos:
Si quieres modificar un rango, quedaría así
rangos = Array("D9:H9", "I8:M8", "N8:R8")
Si quieres modificar una celda destino, quedaría así
destinos = Array("E4", "D10", "D16")
Si quieres agregar un rango, quedaría así
rangos = Array("D8:H8", "I8:M8", "N8:R8", "S8:W8")
Además, si agregas un rango, deberás agregar la celda destino, así
destinos = Array("D4", "D10", "D16", "D20")
Como puedes observar, cada rango en el array “rangos”, tiene su correspondiente celda destino en el array “destinos”, así que si pones 10 rangos, deberás poner 10 celdas destino.
Prueba y me comentas
Saludos. Dam
Si es lo que necesitas.