Página 1 de 1

[RESUELTO] Pegar en la primera celda vacía de una linea.

Publicado: Dom May 05, 2019 9:16 pm
por markotxe
Buenas noche,
Mis conocimientos en macro son muy pobres y me enfrento a problemas muy básicos.

Me gustaría copiar el valor de una celda (por ej en "C8") y pegarla en la primera celda vacía de la misma línea.




Mis investigaciones, me han llevado a este código que me da vergüenza presentaros

Código: Seleccionar todo

sub CopiarPegar
Dim MiDoc As Object, Hoja As Object
Dim Fuente As Object, Destino As Object
Dim i As Long
MiDoc = ThisComponent
Hoja = MiDoc.Sheets.GetByName("Kronos")
Fuente = Hoja.getCellRangeByName("C8")
for i = 4 To 133 step 1 
Destino = Hoja.getCellByPosition(i,7)
Hoja.copyRange(Destino.CellAddress, Fuente.RangeAddress) 
exit for     
next
end sub 
Me disculpo ante mano si este tema a sido abordado y por no haber sabido adaptarlos.

Gracias por vuestra atención

Re: Pegar en la primera celda vacia de una linea

Publicado: Lun May 06, 2019 4:56 am
por FJCC-ES

Código: Seleccionar todo

'Option Explicit

sub CopiarPegar
Dim MiDoc As Object, Hoja As Object
Dim Fuente As Object, Destino As Object
Dim i As Long
MiDoc = ThisComponent
Hoja = MiDoc.Sheets.GetByName("Kronos")
Fuente = Hoja.getCellRangeByName("C8")
Rows = Hoja.getRows()
Row8 = Rows.getByIndex(7)
CeldasVacias = Row8.queryEmptyCells()
for i = 0 to CeldasVacias.Count - 1
	Rango = CeldasVacias.getByIndex(i)
	if Rango.RangeAddress.StartColumn > 2 then
		Celda = Hoja.getCellByPosition(Rango.RangeAddress.StartColumn, 7)
		Celda.Value = Fuente.Value
		Celda.NumberFormat = Fuente.NumberFormat
		exit for
	End if
next i

end sub 

Re: [RESUELTO]Pegar en la primera celda vacia de una linea

Publicado: Lun May 06, 2019 11:25 am
por markotxe
Hola FJCC-ES,
Su codigo funciona a la perfección, quiziera agradecerle por el interés que habeis dado a mi pregunta.
Pienso que esos temas muy basicos ayudaran a muchas personas qui como yo estan descubriendo el mundo de las macros.


Muchissimas gracias!