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]

Responder a