Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako duplicitné dáta a triediť VBA viacrozmerné polia v programe Excel

Visual Basic Application ( VBA ) je programovací jazyk , ktorý program Excel zahŕňa do svojho Makro editora . VBE ( Visual Basic Editor ) Macro editor v programe Microsoft Excel umožňuje používateľom písať jednoduché programy , ktoré automatizujú nadbytočné úlohy . Tu budeme písať makrá VBA , ktorý bude duplicitné dáta v liste , triediť ich do viacrozmerné polia a zapisovať do nového pracovného listu . Tento proces je užitočné , keď je potreba ďalej list , ale pôvodné , netriedené list musí zostať bezo zmeny . Návod dovolená 1

spustení programu Excel kliknutím na tlačidlo " Štart " , " Microsoft Office Suite " , " Excel " .
2

Spustite Editor jazyka Visual Basic ( VBE ) stlačením tlačidla " ALT " a " F11 " súčasne .
3

Napíšte proces kopírovania listu do viacrozmerné polia . Vyberte nasledujúci kód a skopírujte ho do VBE :

Sub Read_Into_Array ( )

Dim arrData ( ) As Variant

Dim ColACount As Long Dim

i As Long

ColACount = rozsah ( Range ( " A1 " ) , Range ( " a " a Rows.Count ) . End ( xlUp ) ) . Počet

ReDim arrData ( 1 K ColACount 1 až 2 )

i = 1 až ColACount

arrData ( i , 1 ) = Range ( " a " a i ) . Hodnota

arrData ( i , 2 ) = Range ( " B " & i ) . Hodnota

Next i

End Sub
4

Zoradiť pole pomocou VBA Bubble Sort proces . Skopírujte a vložte nasledujúci kód pod kódu z predchádzajúceho kroku . To bude triediť dva rozmerné pole :

Sub Sort_Array ( )

SortColumm1 = 0

SortColumn2 = 3

i = LBound ( ArrayName , 1 ) Pre UBound ( ArrayName , 1 ) - 1

j = LBound ( ArrData , 1 ) UBound ( ArrData , 1 ) - 1

podmienka1 = ArrData ( j , SortColumn1 ) > ArrData ( j + 1 , SortColumn1 )

condition2 = ArrData ( j , SortColumn1 ) = ArrData ( j + 1 , SortColumn1 ) a _

ArrData ( j , SortColumn2 ) > ArrData ( j + 1 , SortColumn2 )

Ak podmienka1 alebo condition2 potom

Pre y = LBound ( ArrData , 2 ) UBound ( ArrData , 2 )

t = ArrData ( j , y )

ArrData ( j , y ) = ArrData ( j + 1 , y )

ArrayName ( j + 1 , y ) = T

Ďalšie y

End If

Ďalšie

Ďalšie

End Sub
5

Vytvorte novú tabuľku , ktorá bude obsahovať zotriedené dát . Skopírujte a vložte nasledujúci kód pod kód uvedený tak ďaleko :

Sub New_Worksheet ( )

Dim ZS ako list

Set WS = Sheets.Add

End Sub
6

skopírujte poľa do nového hárka . Skopírujte a vložte nasledujúci kód pod kód vytvorený vyššie : Autor

Sub Copy_Array ( )

[ a1 ] Resize ( UBound ( MyArr ) , UBound ( Application.Transpose ( MyArr ) ) ) = . MyArr

End Sub
7

Uložte makro . Kliknite na " Súbor " , " Uložiť " , dať mu meno a kliknite na " Uložiť " .
8

Spustite makro . Otvorte zošit , ktorý chcete kopírovať a triediť . Kliknite na " Nástroje " , " Makrá " , vyberte makro , ktoré ste práve vytvorili . Objaví sa a automaticky vyplní nový list .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené