Microsoft Excel gosta especialmente de intervalos contíguos . Quando uma faixa está dividida por células vazias , o Excel adiciona uma camada de dificuldade para as suas tarefas de planilha. Às vezes, a solução é preencher os espaços em branco , copiando as linhas que contêm dados e colando os valores para as linhas vazias embaixo. Se você está trabalhando com uma planilha grande , você provavelmente não quer fazer isso com a mão. Em vez disso, use um Visual Basic for Applications (VBA) macro para encontrar as linhas disponíveis e colar nos dados automaticamente. Instruções
1
Abra "Microsoft Excel ", versão 2002 ou posterior.
2
Crie uma planilha para testar sua macro. Incluir linhas com dados e linhas que estão em branco . Digite o seguinte:
celular B1: teste1
celular C1: teste1
celular A4: teste2
celular B4: teste2
C4 celular : teste2
celular D4: teste2
celular A5: test3
celular B5: test3
celular C5: test3
A9 celular : . test4
3
Pressione " Alt + F11 " para abrir o editor do Visual Basic
4
Insira um módulo em branco para manter o seu código VBA. Selecione "Inserir ", depois " Module" no menu.
5
Comece uma nova sub-rotina chamada " PasteAvail ". Digite o seguinte no módulo de código :
Sub PasteAvail ()
Pressione " Enter". Excel irá adicionar uma declaração " End Sub " .
6
Declare as variáveis que você vai usar. Digite o seguinte entre o "Sub" e declarações " End Sub" :
Dim MaxRows As Long , LastRow As Long , i As Long Dim
MaxCols As Integer , FirstRow As Integer
7
Atribua variáveis para armazenar o número total de linhas e colunas na planilha. O valor real dessas variáveis vai depender de qual versão do Excel que você está usando . Digite o seguinte :
MaxRows = Rows.Count
MaxCols = Columns.Count
8
Atribua variáveis para armazenar números de linha para a primeira e última linhas que contêm dados . Isso evita um longo loop através de cada linha na planilha. Digite o seguinte: . .
FirstRow = 1
LastRow = Cells ( MaxRows , 1 ) Fim ( xlUp ) Linha
9
Adicione código de olhar para cada linha, do primeiro ao último , decidir se a linha está em branco e copiar ou colar , conforme necessário. Digite o seguinte: .
Para i = FirstRow Para LastRow
linhas (i) Selecione
Se WorksheetFunction.CountBlank ( linhas (i)) = MaxCols Então
ActiveSheet.Paste
Else
Selection.Copy
End If Next i
10
Deixe o declaração "Sub End" no lugar.
11
Execute a macro. Selecione "Executar", depois em "Executar Sub /UserForm " a partir do menu.
12
Pressione " Alt + F11 " para retornar à planilha do Excel e visualizar os resultados .