Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/01/2009, 07:57
Avatar de ceSharp
ceSharp
 
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 15 años, 6 meses
Puntos: 66
Respuesta: Copiar contenido de una celda al final de una fila

Plinio,

Lo cierto es que lo que buscas es un pelin complicado. No sé si, debido a que soy programador me 'lio' demasiado, pero la única solución lógica que veo es añadir código VBA a tu macro. De esta manera tu botón de acción ( o lo que quieras implementar) recorrería tú columna de datos y, cuando encuentra una celda vacía, pega el código de tu celda. Te paso el código.(código VBA)
Sub Botón1_HacerClick()

Dim celda As String
celda = "B"
Dim i As Integer
For i = 1 To 10
celda = celda & i
Range(celda).Select
If ActiveCell.FormulaR1C1 = "" Then
ActiveCell.FormulaR1C1 = Range("E1")
Exit For
End If
celda = "B"
Next
End Sub

¿que hay que hacer? por ejemplo crea un botón y le asignas una macro. Graba (haz cualquier cosa) y detienes. Luego en dicho botón haces click derecho y vas a 'asignar macro' en la ventanita que aparece haz click en modificar. Aparecerá el editor de VBA con un método similar al que te he puesto aquí. Principalmente fíjate que empieza con 'Sub comoHayasLlamadoAlBoton()
.....
End Sub'. Cópia mi código excepto la cabecera (Sub ....) y el cierre (End Sub) dentro del que te ha aparecido en el editor de VBA. En mi código ejecuta la macro desde la celda B1 hasta la B10 y toma el dato de E1. Si quieres que tome el dato de otra celda tienes que sustituirla en el código (donde veas Range("E1") pon la que quieras). Si quieres que la columna sea otra sustituye 'celda = "B"' por otra letra de columna y si quieres que sea otro rango de celdas tendrás que sustituir, los datos del For, es decir, si quieres que sea desde B10 hasta B20, en vez de 'For i=1 To 10' tendrás que poner 'For i=10 to 20'.

Espero que hayas entendido algo de lo que te explicado y puedas implementarlo.

Salu2