Certas planilhas são usadas e atualizado muito. Estes são muitas vezes preenchidos com os dados que são repetidos várias vezes . Existem maneiras de encontrar e apagar todas as linhas que contêm dados duplicados que , mas uma das maneiras mais simples e automáticos para conseguir isso é com uma macro do Visual Basic. Excel contém um pedido de programação chamada Excel VBA, que pode ser usado para fazer qualquer número de macros - pedaços de código projetado para fazer um trabalho personalizado , sempre que convocado. Coisas que você precisa
Microsoft Excel
Show Mais instruções
Programação do
Macro
1
Abra sua planilha no Excel e abra seu editor de VBA pressionando Alt ea tecla F11 em seu computador.
2
Inicie um novo projeto , clicando com o botão direito a pasta de trabalho no menu do lado direito e escolhendo a opção "Novo".
3
Comece a nova função com " DeleteDuplicateRows Sub () . " isso informa ao compilador VBA que há uma nova sub-rotina que ele deve estar ciente.
4
Criar as variáveis com o seguinte código:
Dim linha como LongDim contam como LongDim Compare Como VariantDim intervalo como Faixa
Isso informa ao sistema para anular as quatro variáveis (linha, Contagem , comparação e Gama ) para usar no código . Você pode usar qualquer nome de variável faz mais sentido para você, mas lembre-se de alterá-los no código mais tarde
5
Configure a macro com um código mais básico : .
On Error GoTo EndMacroApplication.ScreenUpdating = FalseApplication.Calculation = xlCalculationManual
Set Intervalo = Application.Intersect ( ActiveSheet.UsedRange , _ActiveSheet.Columns ( ActiveCell.Column ) ) Application.StatusBar = " Processamento Row: " & Format ( Rng.Row , " #, # # 0")
o primeiro grupo de código informa ao sistema para executar a macro se ele é executado em quaisquer problemas . O segundo grupo define o intervalo variável de acordo com tudo o que o usuário tenha selecionado
6 Tipo
no código a seguir : .
Contagem = 0For Row = Range.Rows.Count Para 2 Step - 1Se Row Mod 500 = 0 ThenApplication.StatusBar = " Processamento Row: " & Format ( R, " #, # # 0" ) End If
Compare = Range.Cells (linha, 1 ) . Valor
isso informa ao sistema para percorrer cada uma das linhas selecionadas pelo usuário, e mudar o
7
entrada Compare variável para essa linha cada vez que ele se move . o seguinte código ao lado :
Se V = vbNullString ThenIf Application.WorksheetFunction.CountIf ( Rng.Columns (1), vbNullString )> 1 ThenRng.Rows (R) EntireRow.DeleteN = N + 1End IfElseIf Aplicação . . WorksheetFunction.CountIf ( Rng.Columns (1), V )> 1 ThenRng.Rows (R). EntireRow.DeleteN = N + 1End IfEnd Se
Estas declarações são os que realmente contam que o sistema comparar a variável Compare para a próxima célula e excluir a linha , se os dois são a mesma coisa.
8
Pressione Enter para inserir um par de novas linhas e, em seguida, digite "Next Row" . Isso informa ao sistema para parar de olhar para a primeira linha , e passar para a próxima
9
Feche a função com : .
EndMacro :
Aplicação . StatusBar = FalseApplication.ScreenUpdating = TrueApplication.Calculation = xlCalculationAutomaticMsgBox " linhas duplicadas excluídos :" & CStr (N)
End Sub
Essas linhas finais dizer ao sistema como fechar o sub-rotina para fora, e também para exibir uma caixa de mensagem útil informando ao usuário que o Macro realmente fez o que era suposto fazer.
Usando o Macro
10
Salve a planilha . Salvar uma segunda cópia , backup antes de usar o Macro . Ou copie e cole o arquivo em uma pasta de backup , ou nós o " Salvar como" arquivo para salvar a segunda cópia , você precisará fechar o Excel e reabri-la .
11
Clique e arraste o cursor ao redor da coluna mais importante de dados. Este é o único para o qual todas as entradas devem diferir - como, se tudo tivesse sido digitado corretamente , não haveria quaisquer entradas duplicadas.
12
Abra o menu " Ferramentas " e selecione " ,. macros " Isto abre a janela de macros, o que lhe permite escolher e executar a macro
13
Selecione sua macro; . se você usou o exemplo acima, ele será chamado " . DelDuplicateR " , Em seguida, pressione o botão "Run" . A Macro será executado automaticamente , e aparecer uma mensagem indicando que as duplicatas foram excluídos.