Grafeno postaram comment

Commented by Grafeno:

Dê uma olhada na resposta do Olivier aqui: 
http://ask.libreoffice.org/pt-br/question/291/application-no-libreoffice-40/?answer=294#post-id-294

In reply to tjarodri's question:

Macro para filtrar Valores

Tags:

macros, VBA, filtro.

Caros,

Estou desenvolvendo um projeto e preciso criar uma rotina de edição de dados. 
Neste caso a macro deve filtrar na base o número selecionado e colar na linha 
filtrada os novos valores. Em MsExcel esta macro roda normalmente porem não 
estou conseguindo encontrar uma forma de rodar em LibreOffice.Obs: O filtro 
acontece de acordo com o valor que esta na range "W1" Segue o código em 
MSEVBAApplication.DisplayAlerts = False

Application.ScreenUpdating = FalseIf Worksheets("Home").Range("I29").Value = "" 
Then

MsgBox "Obrigatório escolher Status do Atendimento", vbCritical, "Formulário 
Ativo - Amil"Else

If Worksheets("Home").Range("I29").Value > 0 Then'Filtra a M.O Para colar.

Sheets("BASE PF").Select

Selection.End(xlUp).Select

Selection.End(xlToLeft).Select

Selection.End(xlUp).Select

Selection.End(xlUp).Select

Selection.End(xlToLeft).Select

ActiveSheet.Range("$A$1:$U$1045").AutoFilter Field:=2, Criteria1:=Range("=W1"), 
_

Operator:=xlAnd

'Copiar dados para colar na base.

Sheets("Home").Select

ActiveSheet.Unprotect Password:=5609

Range("V45:AD45").Select

Selection.Copy

Sheets("BASE PF").Select

Range("N1").Select

Selection.End(xlDown).Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Application.CutCopyMode = False

ActiveSheet.ShowAllData

ActiveSheet.Range("$A$1:$U$1045").AutoFilter Field:=14, Criteria1:= _

"Contato Realizado"

Range("$A$2:$V$1045").Select

Range(Selection, Selection.End(xlDown)).Select

Selection.Copy

Sheets("BaseII").Select

Range("A1").Select

Selection.End(xlDown).Select

Range("A2").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Sheets("BASE PF").Select

Application.CutCopyMode = False

Selection.EntireRow.Delete

Selection.End(xlUp).Select

ActiveSheet.ShowAllData

'Limpar linhas Preenchidas da Cadastro.

Sheets("Home").Select

Worksheets("Home").Range("I29").Value = ""

Worksheets("Home").Range("I31").Value = ""

Worksheets("Home").Range("M31").Value = ""

Worksheets("Home").Range("N36").Value = ""

Worksheets("Home").Range("N38").Value = ""

Worksheets("Home").Range("M29").Value = ""

Worksheets("Home").Range("N34").Value = ""'Escolher novo MO. Range("V15").Select

ActiveCell.FormulaR1C1 = "=RANDBETWEEN('BASE PF'!R2C1,'BASE PF'!R968C1)"

Range("V15").Select

Selection.Copy

Range("V12").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Application.CutCopyMode = False

'Protege a planilha.

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, 
Password:=5609

Range("I29").Select

MsgBox "Dados cadastrado com Sucesso.", vbInformation, "Formulário Ativo - 
Amil"End If

End If

End Sub

Para mudar a frequência e conteúdo dos alertas, visite seu perfil de usuário.

Se achar que essa mensagem foi enviada por engano, avise o administrador do 
forum em evgeny.fad...@gmail.com.

Atenciosamente,Administrador do
-- 
Você está recebendo e-mails da lista usuarios@pt-br.libreoffice.org
# Informações sobre os comandos disponíveis (em inglês):
  mande e-mail vazio para usuarios+unsubscr...@pt-br.libreoffice.org
# Cancelar sua assinatura: mande e-mail vazio para:
  usuarios+unsubscr...@pt-br.libreoffice.org
# Arquivo de mensagens: http://listarchives.libreoffice.org/pt-br/usuarios/

Responder a