Logige sisse Microsofti kontoga
Logige sisse või looge konto.
Tere!
Valige mõni muu konto.
Teil on mitu kontot
Valige konto, millega soovite sisse logida.

Kokkuvõte

See artikkel sisaldab Microsoft Visual Basic for Applicationsi näidistoiminguid, mida saate kasutada mitme massiivitüübiga töötamiseks.

Lisateave

Microsoft pakub programmeerimise näiteid ainult illustreerimiseks, ilma et garantii oleks väljendatud või kaudselt. See hõlmab kaubastatavuse või kindlaks otstarbeks sobivuse kaudseid garantiisid, kuid mitte ainult. Selles artiklis eeldatakse, et olete tuttav kuvatava programmeerimiskeelega ning tööriistadega, mida kasutatakse protseduuride loomiseks ja silumiseks. Microsofti tugiteenuste insenerid saavad aidata selgitada konkreetse protseduuri funktsionaalsust, kuid nad ei muuda neid näiteid selleks, et pakkuda teie vajadustele vastavaid lisafunktsioone või koostada protseduure. MÄRKUS. Rakenduse Visual Basic for Applications protseduurides on ülakomale (') järgnevad sõnad kommentaarid.
 

Massiivi täitmine ja seejärel töölehele kopeerimine

  1. Avage uus töövihik ja lisage Visual Basicu moodulileht.

  2. Tippige moodulilehele järgmine kood.

    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. Valige Leht1.

  4. Osutage menüü Tööriistad käsule Makro ja seejärel klõpsake käsku Makrod.

  5. Klõpsake dialoogiboksis Makro nuppu Sheet_Fill_Array ja seejärel käsku Käivita.

Väärtuste võtmine töölehelt ja Massiivi täitmine

  1. Tippige väärtused lehele Leht1 lahtritesse A1:A10.

  2. Tippige Visual Basicu moodulilehele järgmine kood:

    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. Valige Leht1.

  4. Osutage menüü Tööriistad käsule Makro ja seejärel klõpsake käsku Makrod.

  5. Klõpsake dialoogiboksis Makro nuppu from_sheet_make_array ja seejärel käsku Käivita.

Massiivi edastamine ja vastuvõtmine

  1. Tippige moodulilehele järgmine kood:

    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. Valige Leht1 ja tõstke vahemik A1:A10 esile.

  3. Osutage menüü Tööriistad käsule Makro ja seejärel klõpsake käsku Makrod.

  4. Klõpsake dialoogiboksis Makro nuppu pass_array ja seejärel käsku Käivita.

Kahe massiivi võrdlemine

  1. Looge lehel Leht1 kaks nimega vahemikku. Nimetage üks vahemik1 ja teine vahemik2.

    Näiteks tõstke lahtrivahemik A1:A10 esile ja pange sellele nimi vahemik 1; tõstab lahtrivahemiku B1:B10 esile ja nimetab selle vahemikuks 2.

  2. Tippige moodulilehele järgmine kood.

    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. Valige Leht2.

  4. Osutage menüü Tööriistad käsule Makro ja seejärel klõpsake käsku Makro.

  5. Klõpsake dialoogiboksis Makro nuppu compare_two_array ja seejärel käsku Käivita.

    Iga võrdluse kohta kuvatakse üks teateboks.

Dünaamilise massiivi täitmine

  1. Tippige moodulilehele järgmine kood:

    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. Osutage menüü Tööriistad käsule Makro ja seejärel klõpsake käsku Makrod.

  3. Klõpsake dialoogiboksis Makro nuppu fill_array ja seejärel käsku Käivita.

MÄRKUS. Muutuja "number_of_elements" muutmine määrab massiivi suuruse.
 

Kas vajate veel abi?

Kas soovite rohkem valikuvariante?

Siin saate tutvuda tellimusega kaasnevate eelistega, sirvida koolituskursusi, õppida seadet kaitsma ja teha veel palju muud.

Kogukonnad aitavad teil küsimusi esitada ja neile vastuseid saada, anda tagasisidet ja saada nõu rikkalike teadmistega asjatundjatelt.

Kas sellest teabest oli abi?

Kui rahul te keelekvaliteediga olete?
Mis mõjutas teie hinnangut?
Kui klõpsate nuppu Edasta, kasutatakse teie tagasisidet Microsofti toodete ja teenuste täiustamiseks. IT-administraator saab neid andmeid koguda. Privaatsusavaldus.

Täname tagasiside eest!

×