Limpar celulas usando Macro [RESOLVIDO]

1. Limpar celulas usando Macro [RESOLVIDO]

Alex Fabiano Batista
afbatista

(usa Fedora)

Enviado em 07/11/2012 - 11:33h

Bom dia galera
preciso de um help:

como que faço para criar uma macro pra excluir as linhas no libre office. Alguem sabe como fazer esse processo?
Eu tenho uma que usava no excel, mas acho que nao funciona.
Segue ela abaixo:
Sub Delete_Every_Other_Row()

' Dimension variables.
Y = False ' Change this to True if you want to
' delete rows 1, 3, 5, and so on.
I = 1
Set xRng = Selection

' Loop once for every row in the selection.
For xCounter = 1 To xRng.Rows.Count

' If Y is True, then...
If Y = True Then

' ...delete an entire row of cells.
xRng.Cells(I).EntireRow.Delete

' Otherwise...
Else

' ...increment I by one so we can cycle through range.
I = I + 1

End If

' If Y is True, make it False; if Y is False, make it True.
Y = Not Y

Next xCounter

End Sub


  


2. Re: Limpar celulas usando Macro [RESOLVIDO]

Alex Fabiano Batista
afbatista

(usa Fedora)

Enviado em 07/11/2012 - 14:25h

Galera, achei aqui como faz, na internet
segue link: http://www.mail-archive.com/usuarios@br-pt.openoffice.org/msg13836.html

Se caso o link estiver off, segue abaixo o código para a macro e o procedimento para salva-la e executa-la:


Sub remove_LinhasVazias
REM Macro que remove linhas em branco em uma planilha.
REM Desenvolvida incialmente por Noelson Duarte em *02/06/2005*.
REM Alterada por Francival Lima em 01/03/2008
'
oDoc = thisComponent
'Retorna o Documento aberto.
oControlador =oDoc.getCurrentController()
'Retorna o controlador do Documento aberto.
oPlan = oControlador.getActiveSheet()
'Retorna a planilha ativa.
oCursor = oPlan.createCursor()
'Cria um cursor
oCursor.gotoEndOfUsedArea(False)
vEnd = oCursor.getRangeAddress()
oExt = oPlan.getCellRangeByPosition(0,0,vEnd.EndColumn,vEnd.EndRow)
oLinhas = oExt.getRows()
nTotal = oLinhas.getCount() - 1
nFlags = com.sun.star.sheet.CellFlags.VALUE OR _
com.sun.star.sheet.CellFlags.DATETIME OR _
com.sun.star.sheet.CellFlags.STRING OR _
com.sun.star.sheet.CellFlags.ANNOTATION OR _
com.sun.star.sheet.CellFlags.FORMULA
For i = nTotal To 0 Step -1
oExtLin = oPlan.getCellRangeByPosition(0, i, vEnd.EndColumn, i)
oCelulasNaoVazias = oExtLin.queryContentCells(nFlags)
If oCelulasNaoVazias.getCount() = 0 Then
oLinhas.removeByIndex(i, 1)
End If
Next i

End Sub

Para que ela funcione no teu BrOffice. Basta fazer o seguinte:
Abre o arquivo que queres trabalhar com o tempo nesse formato.
Aciona Ferramentas>>Macros>>Organizar Macros>>BrOffice.org Basic...
No campo "Macro de", selecione "Minhas macros">> Standard >> Módulo1.
Clique em "Novo". Depois em "ok". Vai abrir a janela do BrOffice.org Basic.
Cola o código (texto em azul, ou melhor o texto entre "Sub
remove_Linhas_Vazias" e "End Sub") da macro daqui do e-mail para a janela do
BrOffice.org Basic. Clique em "Salvar".
Volta para o arquivo no Calc.
Para usar a macro basta ir em Ferramentas>>Macros>>Organizar Macros>>
BrOffice.org Basic...
No campo "Macro de", selecione "Minhas macros">> Standard >> Módulo1. Na
caixa ao lado Selecione a macro remove_Linhas_Vazias então clique em
"Executar"






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts