Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
ThiagoFerreiratp

Calc Converter macro Excel para Libreoffice

Recommended Posts

Alguém poderia me ajudar a converter o macro abaixo para que ele funcione no libreoffice?

 

Basicamente o código vai comparar valores de duas colunas e me retornar quais são os valores iguais.

 

Segue o código

Sub Apagar_Repetidos()

Dim ws As Worksheet
Dim r1, r2, x, y, i As Long

With Application
    .ScreenUpdating = False
    .DisplayAlerts = False
End With

Set ws = Sheets("Plan1")

r1 = ws.Cells(Rows.Count, "A").End(xlUp).Row
r2 = ws.Cells(Rows.Count, "D").End(xlUp).Row
i = 2

ws.Select

For x = 2 To r1
    For y = i To r2
        If Cells(x, "B") = Cells(y, "E") Then
            Cells(x, "A").Resize(, 2).Clear
            Cells(y, "D").Resize(, 2).Clear
            i = y
            Exit For
        End If
    Next
Next x

Range("A1:B" & r1).Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlYes

Range("D1:E" & r2).Sort Key1:=Range("D1"), Order1:=xlAscending, Header:=xlYes

Range("A1").Select

With Application
    .ScreenUpdating = True
    .DisplayAlerts = True
End With

End Sub

E abaixo está uma planilha mostrando esse macro em ação.

 

 

Planilha Cartões.zip

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola @ThiagoFerreiratp, uso Win7+LibO6.0.5.2

 

Rodei aqui e esta funcionando,

 

deletei os dados da Plan2 e Apaguei o fundo de célula, da Plan2 e Plan1, deixei tubo branco. 

 

Após rodar a macro, ficou como estava.

 

Detalhe quando salvo em xlsm ou xlsx o botão some, salvei em xls o botão OK, e continuou funcionando.

Editado por g.schiavinatto
Complementar resposta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×