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/