Aplicação do Visual Basic (VBA) é a linguagem de programação que Excel incorporar na sua edição de macro. O editor VBE (Visual Basic Editor) Macro no Microsoft Excel permite aos usuários escrever programas simples que automatizam tarefas redundantes. Aqui vamos escrever uma macro VBA que irá duplicar os dados em uma planilha, classificá-lo em uma matriz multidimensional e escrevê-lo para uma nova folha de trabalho. Este processo é útil quando uma planilha ordenada é necessária, mas a planilha original, não triados deve permanecer intacta.
Lançamento Excel, clicando em "Começar," "Microsoft Office Suite," "Excel."
Inicie o Editor do Visual Basic (VBE) pressionando "ALT" e "F11" simultaneamente.
Faça o processo para copiar uma planilha em uma matriz multidimensional. Selecione o seguinte código e copiá-lo para o VBE:
Sub Read_Into_Array ()
Dim arrData () As Variant
Dim ColACount As Long
Dim i As Long
ColACount = Range (Gama ("A1"), Alcance("UMA" & Rows.Count) .End (xlUp)). Contagem
ReDim arrData (1 To ColACount, 1 a 2)
Para i = 1 a ColACount
arrData (i, 1) = Intervalo ("UMA" &Amp- i) .Value
arrData (i, 2) = Intervalo ("B" &Amp- i) .Value
Proximo eu
End Sub
Classificar a matriz com o processo de Bubble Sort VBA. Copie e cole o seguinte código abaixo o código da etapa anterior. Ele irá classificar a matriz bidimensional:
Sub Sort_Array ()
SortColumm1 = 0
SortColumn2 = 3
Para i = LBound (ArrayName, 1) Para UBound (ArrayName, 1) - 1
Para J = LimiteInf (ArrData, 1) Para LimiteSup (ArrData, 1) - 1
Condition1 = ArrData (j, SortColumn1) gt; ArrData (j + 1, SortColumn1)
Condition2 = ArrData (j, SortColumn1) = ArrData (j + 1, SortColumn1) e _
ArrData (J, SortColumn2) gt; ArrData (j + 1, SortColumn2)
Se Condition1 ou Condition2 seguida
Para y = LBound (ArrData, 2) Para UBound (ArrData, 2)
t = ArrData (j, y)
ArrData (j, y) = ArrData (j + 1, y)
Nome_da_Matriz (j + 1, y) = t
Próximo y
Fim se
Próximo
Próximo
End Sub
Criar a nova planilha que conterá os dados classificados. Copie e cole o seguinte código abaixo o código listado até agora:
Sub New_Worksheet ()
WS Dim como Planilha
Definir WS = Sheets.Add
End Sub
Copiar a matriz para a nova planilha. Copie e cole o seguinte código abaixo o código criado acima:
Sub Copy_Array ()
[A1] .Resize (UBound (myarr), UBound (Application.Transpose (myarr))) = myarr
End Sub
Salvar a macro. Clique "Arquivo," "Salvar," dar-lhe um nome e clique em "Salvar."
Executar a macro. Abra uma planilha que você gostaria de copiar e classificar. Clique "Ferramentas," "macros," selecione a macro que você acabou de criar. A nova planilha irá aparecer e preencherá automaticamente.
dicas & avisos
- O código de exemplo, aqui vai classificar a matriz em ordem crescente (a-z, 0-9) Para inverter a ordem da classificação, altere a "gt;" nas linhas de quinto e sétimo da etapa quatro a "lt;".