Foros del Web » Soporte técnico » Ofimática »

Copiar contenido de una celda al final de una fila

Estas en el tema de Copiar contenido de una celda al final de una fila en el foro de Ofimática en Foros del Web. Hola a todos! Estoy intentando conseguir que el contenido de una celda (el que se le introduzca) se copie directamente al final de una columna ...
  #1 (permalink)  
Antiguo 23/01/2009, 05:55
 
Fecha de Ingreso: enero-2009
Mensajes: 5
Antigüedad: 15 años, 3 meses
Puntos: 1
Copiar contenido de una celda al final de una fila

Hola a todos!

Estoy intentando conseguir que el contenido de una celda (el que se le introduzca) se copie directamente al final de una columna de datos y no hay manera. Espero me podais ayudar, porque he buscado y buscado y probado con todo, pero no soy capaz de lograrlo.

En el título he puesto fila, pero es al final de una columna

Muchisimas gracias por adelantado ... haceis una gran labor a la gente con vuestra ayuda!!!
  #2 (permalink)  
Antiguo 23/01/2009, 06:26
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 15 años, 5 meses
Puntos: 66
Respuesta: Copiar contenido de una celda al final de una fila

hola Plinio_lo,
¿has probado a concatenar el valor de la celda con el & ?
o a lo mejor no he entendido muy bien lo que quieres pero, como ejemplo, si en A1 pones '10', en B1 pones 'hola' y en C1 pones =A1 & B1 el resultado es 10hola (he concatenado el valor de una celda con el de la otro)
Si no es lo que buscas trata de explicarte un poco mejor.

Salu2
  #3 (permalink)  
Antiguo 23/01/2009, 06:46
 
Fecha de Ingreso: enero-2009
Mensajes: 5
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Copiar contenido de una celda al final de una fila

Gracias ceSharp, si, lo explicaré mejor, supongamos que tengo la un conjunto de datos listados en la columna B, por ejemplo B8:B11 y me gustaría que cualquier dato que se introdujera en la celda "C1" se incluyera al final de la lista anterior.

Como ejemplo, si lista tuviera solo 3 datos

"dato1"
"dato2"
"dato3"

la idea es que si escribo "nuevo dato" en la celda C1 y ejecutara la macro saldría

"dato1"
"dato2"
"dato3"
"nuevo dato"

y si escribiera de nuevo "nuevo dato2" en la celda C1 y ejecutara la macro

"dato1"
"dato2"
"dato3"
"nuevo dato"
"nuevo dato2"

y así sucesivamente....

Gracias por tu interés nuevamente ceSharp

Última edición por Plinio_lo; 23/01/2009 a las 07:23
  #4 (permalink)  
Antiguo 23/01/2009, 07:57
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 15 años, 5 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
  #5 (permalink)  
Antiguo 24/01/2009, 10:31
 
Fecha de Ingreso: enero-2009
Mensajes: 5
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Copiar contenido de una celda al final de una fila

Mil gracias, ceSharp, por tu ayuda, asi no me salía, ni me hubiese salido en la vida.

Lo probaré y te cuento.. ahí va un karma, por si sirve.

UnSaludo
  #6 (permalink)  
Antiguo 24/01/2009, 11:11
 
Fecha de Ingreso: enero-2009
Mensajes: 5
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Copiar contenido de una celda al final de una fila

ceSharp, eres un fenómeno!! Cuando lo he implementado y he visto que funcionaba me puesto como el de tio de Media Mark. No imaginaba que fuera tan complicado, pero el resultado es perfecto.

Te estoy muy agradecido.

salu2
  #7 (permalink)  
Antiguo 26/01/2009, 01:12
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 15 años, 5 meses
Puntos: 66
Respuesta: Copiar contenido de una celda al final de una fila

jejejeje el tío de Media Mark, que bueno! :)

me alegro de que te haya funcionado!

Salu2
  #8 (permalink)  
Antiguo 26/01/2009, 21:31
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años
Puntos: 88
Respuesta: Copiar contenido de una celda al final de una fila

Hola! a todos.
Gralmente. no acostumbro incorporar información adicional a un tema que ya se encuentra terminado.

Sin embargo, me gustaría mencionar que existe una opción "un poco" más sencilla que la vista. Por ejemplo:

Sub CopiarElContenido()
[B65536].End(xlUp).Offset(1) = [C1]
End Sub


Espero que sea útil.

Hasta próxima, Cacho.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:53.