Ajusta en el código B1:B10 por el rango de celdas que quieres pasar el valor a D4 de la hoja Principal.
La macro empieza en B10 y recorre hacia arriba B9, luego B8, B7 hasta llegar a B1 y empieza otra vez en B1.
La macro la debes ejecutar en la hoja1.
V i s i t a:
Cursos de Excel y Macros
Prueba lo siguiente:
Sub pasar_Valor()
'Por Dante Amor
'
Dim cel_destino As Range, rng_origen As Range
Dim ultima As String
'
Set rng_origen = Sheets("hoja1").Range("B1:B10") 'rango origen
Set cel_destino = Sheets("Principal").Range("D4") 'celda destino
'
ultima = rng_origen.Cells(rng_origen.Rows.Count, 1).Address
'
If Not Intersect(ActiveCell, rng_origen) Is Nothing And ActiveCell.Address <> "$B$1" Then
ActiveCell.Offset(-1).Select
Else
Range(ultima).Select
End If
'
cel_destino.Value = ActiveCell.Value
End Sub
Recomendación del día:
Consejos para desarrollar macros - YouTube
Sal u dos