Rios Ernesto escribió:
hola a todos
estoy tratando de hacer una macro para CALC, que corte un nombre personal de
una lista de personas y la pege al final de otra lista en otra hoja.
si no fuera por que al pegar, el texto debe quedar en la siguiente celda libre,
la macro seria facil. Pero no se como hacer esto.
Ernesto
Desde Mexico y la Influenza
Hola Ernesto...
Hola a todos...
Con un cursor, puedes encontrar fácilmente la ultima fila libre de un
rango...
Sub Cursores2()
Dim oSel As Object
Dim oCursor As Object
'Partimos de la seleccion
oSel = ThisComponent.getCurrentSelection()
'Solo si es una sola celda
If oSel.getImplementationName() = "ScCellObj" Then
'Creamos un cursor a partir de esta celda
oCursor = oSel.getSpreadSheet().createCursorByRange( oSel )
'Nos movemos al final
oCursor.gotoEnd()
'La siguiente fila libre, sera esta fila mas 1
MsgBox oCursor.getRangeAddress().EndRow + 1
Else
MsgBox "Selecciona solo una celda"
End If
End Sub
Puedes crear una función que te devuelva este valor, por ejemplo:
Function FilaLibre( Rango As Object) As Long
Dim oCursor As Object
oCursor = Rango.getSpreadSheet().createCursorByRange( Rango )
oCursor.gotoEnd()
FilaLibre = oCursor.getRangeAddress().EndRow + 1
End Function
El manejo de cursores es bastante simple, pero "deberías" tener algunos
conceptos previos bastante claros. Puedes consultar unos apuntes que
tengo en preparación, creo que te servirán. Puedes descargarlo desde:
http://www.megaupload.com/?d=0ZWWF9YI
Saludos a todos...
Mauricio
--
__________________________________
Todo lo que no es dado es perdido
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]