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

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
markotxe
Mensajes: 27
Registrado: Jue May 02, 2019 9:47 am

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

Mensaje 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
Adjuntos
Copier-Coller.ods
(13.14 KiB) Descargado 211 veces
Última edición por markotxe el Lun May 06, 2019 11:19 am, editado 1 vez en total.
OpenOffice 4.1.5 CALC, Window10
FJCC-ES
Mensajes: 873
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: Pegar en la primera celda vacia de una linea

Mensaje 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 
markotxe
Mensajes: 27
Registrado: Jue May 02, 2019 9:47 am

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

Mensaje 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!
OpenOffice 4.1.5 CALC, Window10
Responder