Conectați-vă cu Microsoft
Conectați-vă sau creați un cont
Salut,
Selectați un alt cont.
Aveți mai multe conturi
Alegeți contul cu care doriți să vă conectați.

Rezumat

Acest articol conține exemple de proceduri Microsoft Visual Basic for Applications pe care le puteți utiliza pentru a lucra cu mai multe tipuri de matrice.

Mai multe informații

Microsoft oferă exemple de programare doar pentru ilustrație, fără garanție exprimată sau implicită. Aceasta include, dar nu se limitează la, garanțiile implicite de vandabilitate sau potrivire pentru un anumit scop. Acest articol presupune că sunteți familiarizat cu limbajul de programare care este demonstrat și cu instrumentele utilizate pentru a crea și a depana procedurile. Inginerii de asistență Microsoft vă pot ajuta să explicați funcționalitatea unei anumite proceduri, dar nu vor modifica aceste exemple pentru a oferi funcționalități suplimentare sau proceduri de construcție care să îndeplinească cerințele dvs. specifice. NOTĂ: În procedurile Visual Basic for Applications, cuvintele de după apostrof (') sunt comentarii.
 

Pentru a completa o matrice, apoi a o copia într-o foaie de lucru

  1. Deschideți un registru de lucru nou și inserați o foaie de modul Visual Basic.

  2. Tastați următorul cod în foaia modulului.

    Sub Sheet_Fill_Array()
       Dim myarray As Variant
       myarray = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
       Range("a1:a10").Value = Application.Transpose(myarray)
    End Sub
    
  3. Selectați Foaie1.

  4. În meniul Instrumente, indicați spre Macrocomandă, apoi faceți clic pe Macrocomenzi.

  5. În caseta de dialog Macrocomandă, faceți clic pe Sheet_Fill_Array, apoi faceți clic pe Rulare.

Pentru a prelua valori dintr-o foaie de lucru și a completa matricea

  1. Tastați valori în Foaie1 în celulele A1:A10.

  2. Pe o foaie de modul Visual Basic, tastați următorul cod:

    Sub from_sheet_make_array()
       Dim thisarray As Variant
       thisarray = Range("a1:a10").Value
    
       counter = 1                'looping structure to look at array
       While counter <= UBound(thisarray)
          MsgBox thisarray(counter, 1)
          counter = counter + 1
       Wend
    End Sub
    
  3. Selectați Foaie1.

  4. În meniul Instrumente, indicați spre Macrocomandă, apoi faceți clic pe Macrocomenzi.

  5. În caseta de dialog Macrocomandă, faceți clic pe from_sheet_make_array, apoi faceți clic pe Rulare.

Pentru a trece și a primi o matrice

  1. Pe o foaie de modul, tastați următorul cod:

    Sub pass_array()
       Dim thisarray As Variant
       thisarray = Selection.Value
       receive_array (thisarray)
    End Sub
    
    Sub receive_array(thisarray)
       counter = 1
       While counter <= UBound(thisarray)
          MsgBox thisarray(counter, 1)
          counter = counter + 1
       Wend
    End Sub
    
  2. Selectați Foaie1 și evidențiați zona A1:A10.

  3. În meniul Instrumente, indicați spre Macrocomandă, apoi faceți clic pe Macrocomenzi.

  4. În caseta de dialog Macrocomandă, faceți clic pe pass_array, apoi pe Rulare.

Pentru a compara două matrice

  1. Creați două zone denumite în Foaie1. Denumiți o zonă1 și cealaltă zonă2.

    De exemplu, evidențiați zona de celule A1:A10 și denumiți zona1; evidențiați zona de celule B1:B10 și denumiți-o zona2.

  2. Tastați următorul cod în foaia modulului.

    Sub compare_two_array()
       Dim thisarray As Variant
       Dim thatarray As Variant
    
       thisarray = Range("range1").Value
       thatarray = Range("range2").Value
       counter = 1
       While counter <= UBound(thisarray)
          x = thisarray(counter, 1)
          y = thatarray(counter, 1)
          If x = y Then
             MsgBox "yes"
          Else MsgBox "no"
          End If
          counter = counter + 1
       Wend
    End Sub
    
  3. Selectați Foaie2.

  4. În meniul Instrumente, indicați spre Macrocomandă, apoi faceți clic pe Macrocomandă.

  5. În caseta de dialog Macrocomandă, faceți clic pe compare_two_array, apoi faceți clic pe Rulare.

    Veți vedea o casetă de mesaj pentru fiecare comparație.

Pentru a completa o matrice dinamică

  1. Pe o foaie de modul, tastați următorul cod:

    Sub fill_array()
    
       Dim thisarray As Variant
       number_of_elements = 3     'number of elements in the array
    
       'must redim below to set size
       ReDim thisarray(1 To number_of_elements) As Integer
       'resizes this size of the array
       counter = 1
       fillmeup = 7
       For counter = 1 To number_of_elements
          thisarray(counter) = fillmeup
       Next counter
    
       counter = 1         'this loop shows what was filled in
       While counter <= UBound(thisarray)
          MsgBox thisarray(counter)
          counter = counter + 1
       Wend
    
    End Sub
    
  2. În meniul Instrumente, indicați spre Macrocomandă, apoi faceți clic pe Macrocomenzi.

  3. În caseta de dialog Macrocomandă, faceți clic pe fill_array, apoi faceți clic pe Rulare.

NOTĂ: Modificarea variabilei "number_of_elements" va determina dimensiunea matricei.
 

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.

Comunitățile vă ajută să adresați întrebări și să răspundeți la întrebări, să oferiți feedback și să primiți feedback de la experți cu cunoștințe bogate.

Au fost utile aceste informații?

Cât de mulțumit sunteți de calitatea limbajului?
Ce v-a afectat experiența?
Apăsând pe Trimitere, feedbackul dvs. va fi utilizat pentru a îmbunătăți produsele și serviciile Microsoft. Administratorul dvs. IT va avea posibilitatea să colecteze aceste date. Angajamentul de respectare a confidențialității.

Vă mulțumim pentru feedback!

×