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 MSEVBA
Application.DisplayAlerts = False
Application.ScreenUpdating = False
If 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