Ir ao conteúdo
  • Cadastre-se

Outro Rodar macro VBA para o OpenOffice


Posts recomendados

Gostaria de fazer com que essa macro fosse traduzida para o OpenOffice. Utilizo as duas plataformas e isso está me atrapalhando em algumas ocasiões.

 

Segue o macro:

 

Sub Atualização()
'Macro Atualizar Planilha
'
'Seleciona a célula E18 e inicia a macro
'Caso a célula E18 = "", pula para a próxima célula acima
'Caso não, executa o processo de cópia e logo, pula para a célula acima e continua a macro
'
Sheets("Acompanhamento").Select
ActiveSheet.Unprotect

Sheets("Contagem").Select
    Range("J5").Select
    Selection.Copy
    Sheets("Acompanhamento").Select
    Range("H4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("J3").Select
    Sheets("Contagem").Select
    Range("K4").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Acompanhamento").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("D7").Select
    Selection.AutoFilter
    
    

    Range("DO1:DO4000").Select
    Selection.Delete Shift:=xlToLeft
    Range("G4000").Select 'Seleciona célula de gatilho do macro.
    

Do While ActiveCell.Row > 1

        If ActiveCell <> "" Then 'Se célula ativa é diferente de vazio
        ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column + 1).Select 'seleciona célula da direita
        Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove 'inserir uma célula e mover para direita
        ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column - 2).Select 'retorna para a célula da data
        ActiveCell.Copy 'copia a célula data
        ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column + 2).Select 'seleciona célula da direita
        Selection.PasteSpecial xlPasteValuesAndNumberFormats 'cola a data
        Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove 'inserir uma célula e mover para direita
        ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column - 1).Select 'volta para a célula do PROCV
        ActiveCell.Copy 'copia PROCV
        ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column + 1).Select 'volta para a célula após cópia data
        Selection.PasteSpecial xlPasteValuesAndNumberFormats 'cola PROCV
        ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column - 1).Select 'retorno para a linha principal do macro
        ActiveSheet.Cells(ActiveCell.Row - 1, ActiveCell.Column).Select 'seleciona célula acima
                   
        Else
        
       
        ActiveSheet.Cells(ActiveCell.Row - 1, ActiveCell.Column).Select 'seleciona célula acima
        
        End If
                      
        
Loop
                
 Sheets("Contagem").Select
 Range("A1:AA20000").Select
 Selection.ClearContents
 Range("A1").Select
 Sheets("Acompanhamento").Select
 Range("A1").Select
                 
                
 ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowFiltering:=True
        
End Sub

 

 

 

Há alguma tradução? Se não, desde já agradeço e desculpe o incômodo.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...