Visual Basic Application (VBA ) é a linguagem de programação que Excel incorpora em seu editor de macro. O VBE (Visual Basic Editor ) editor de macro no Microsoft Excel permite aos usuários escrever programas simples que automatizam tarefas redundantes. Aqui vamos escrever uma macro VBA que vai 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 , indiferenciados deve permanecer intacta . Instruções
1
lançamento Excel , clicando em " Iniciar", " Microsoft Office Suite ", " Excel ".
2
Inicie o Editor do Visual Basic (VBE ) pressionando " ALT "e" F11 " simultaneamente.
3
Escreve o processo para copiar uma planilha em uma matriz multidimensional. Selecione o código a seguir e copiá-lo para o VBE :
Sub Read_Into_Array ()
Dim arrData () As Variant
Dim ColACount As Long Dim
i As Long
ColACount = Range ( Range (" A1") , Range (" A" & Rows.Count ) . End ( xlUp ) ) Contagem
ReDim arrData (1 . Para ColACount , 1 a 2)
Para i = 1 To ColACount
arrData (i, 1) = Range ( "A" & i ) . Valor
arrData ( i, 2) = Range (" B" & i ) . Valor
Next i End Sub
4
classificar a matriz com a bolha VBA Ordenar processo . Copie e cole o seguinte código abaixo o código da etapa anterior. Ele vai classificar a matriz bidimensional :
Sub Sort_Array ()
SortColumm1 = 0
SortColumn2 = 3
Para i = LBound ( ArrayName , 1 ) Para UBound ( ArrayName , 1) - 1
Para j = LBound ( arrData , 1) Para UBound ( arrData , 1) - 1
Condition1 = arrData (j, SortColumn1 ) > arrData ( j + 1 , SortColumn1 )
condição2 = arrData (j, SortColumn1 ) = arrData ( j + 1 , SortColumn1 ) e _
arrData (j, SortColumn2 ) > arrData ( j + 1 , SortColumn2 )
Se Condition1 ou condição2 então
Para y = LBound ( arrData , 2) Para UBound ( arrData , 2)
t = arrData (j, y)
arrData (j, y) = arrData ( j + 1 , y)
NomeMatriz ( j + 1 , y ) = t
Próxima y
End If
Próxima
Próxima
End Sub
5
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 ()
Dim WS como Planilha
Set WS = Sheets.Add
End Sub
6
copiar a matriz para a nova planilha . Copie e cole o seguinte código abaixo do código criado acima :
Sub Copy_Array ()
[a1 ] Resize ( UBound ( myarr ) , UBound ( Application.Transpose ( myarr ) )) = . myarr
End Sub
7
salvar a macro . Clique em " Arquivo", " Salvar ", dar-lhe um nome e clique em " Salvar".
8
executar a macro. Abra uma planilha que você gostaria de copiar e classificar. Clique em "Ferramentas ", " Macros ", selecione a macro que você acabou de criar. A nova planilha aparecerá e preencher automaticamente .