Prisijunkite prie „Microsoft“
Prisijunkite arba sukurkite paskyrą.
Sveiki,
Pasirinkti kitą paskyrą.
Turite kelias paskyras
Pasirinkite paskyrą, kurią naudodami norite prisijungti.

Suvestinė

Šiame straipsnyje pateikiami "Microsoft Visual Basic for Applications" procedūrų pavyzdžiai, kuriuos galite naudoti dirbdami su kelių tipų masyvais.

Daugiau informacijos

"Microsoft" pateikia programavimo pavyzdžius tik iliustracijoms, be išreikštos arba numanomos garantijos. Tai apima, bet neapsiriboja, numanomas garantijas dėl tinkamumo parduoti ar tinkamumo konkrečiam tikslui. Šiame straipsnyje daroma prielaida, kad esate susipažinę su programavimo kalba, kuri yra pademonstruojama ir su įrankiais, kurie naudojami kurti ir derinti procedūras. "Microsoft" palaikymo inžinieriai gali padėti paaiškinti konkrečios procedūros funkcijas, tačiau jie nekeis šių pavyzdžių, kad galėtų teikti papildomas funkcijas arba kurti procedūras pagal jūsų konkrečius reikalavimus. PASTABA: "Visual Basic for Applications" procedūrose žodžiai po apostrofo (') yra komentarai.
 

Masyvo užpildymas ir kopijavimas į darbalapį

  1. Atidarykite naują darbaknygę ir įterpkite Visual Basic modulio lapą.

  2. Modulio lape įveskite šį kodą.

    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. Pasirinkite Lapas1.

  4. Meniu Įrankiai nukreipkite žymiklį į Makrokomanda, tada spustelėkite Makrokomandos.

  5. Dialogo lange Makrokomanda spustelėkite Sheet_Fill_Array, tada spustelėkite Vykdyti.

Reikšmių įrašymas iš darbalapio ir masyvo užpildymas

  1. Langeliuose A1:A10 įveskite reikšmes lape Lapas1.

  2. "Visual Basic" modulio lape įveskite šį kodą:

    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. Pasirinkite Lapas1.

  4. Meniu Įrankiai nukreipkite žymiklį į Makrokomanda, tada spustelėkite Makrokomandos.

  5. Dialogo lange Makrokomanda spustelėkite from_sheet_make_array, tada spustelėkite Vykdyti.

Masyvo perdavimas ir gavimas

  1. Modulio lape įveskite šį kodą:

    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. Pasirinkite Lapas1 ir pažymėkite diapazoną A1:A10.

  3. Meniu Įrankiai nukreipkite žymiklį į Makrokomanda, tada spustelėkite Makrokomandos.

  4. Dialogo lange Makrokomanda spustelėkite pass_array, tada spustelėkite Vykdyti.

Dviejų masyvų palyginimas

  1. Lape1 sukurkite du pavadintus diapazonus. Pavadinkite vieną diapazoną1 ir kitą diapazoną2.

    Pavyzdžiui, pažymėkite langelių diapazoną A1:A10 ir pavadinkite jį1; pažymėkite langelių diapazoną B1:B10 ir pavadinkite jį2.

  2. Modulio lape įveskite šį kodą.

    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. Pasirinkite Lapas2.

  4. Meniu Įrankiai nukreipkite žymiklį į Makrokomanda, tada spustelėkite Makrokomanda.

  5. Dialogo lange Makrokomanda spustelėkite compare_two_array, tada spustelėkite Vykdyti.

    Matysite vieną pranešimo lauką kiekvienam palyginimui.

Dinaminio masyvo užpildymas

  1. Modulio lape įveskite šį kodą:

    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. Meniu Įrankiai nukreipkite žymiklį į Makrokomanda, tada spustelėkite Makrokomandos.

  3. Dialogo lange Makrokomanda spustelėkite fill_array, tada spustelėkite Vykdyti.

PASTABA: keičiant kintamąjį "number_of_elements" bus nustatytas masyvo dydis.
 

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.

Bendruomenės padeda užduoti klausimus ir į juos atsakyti, pateikti atsiliepimų ir išgirsti iš ekspertų, turinčių daug žinių.

Ar ši informacija buvo naudinga?

Ar esate patenkinti kalbos kokybe?
Kas turėjo įtakos jūsų įspūdžiams?
Paspaudus mygtuką Pateikti, jūsų atsiliepimai bus naudojami tobulinant „Microsoft“ produktus ir paslaugas. Jūsų IT administratorius galės rinkti šiuos duomenis. Privatumo patvirtinimas.

Dėkojame už jūsų atsiliepimą!

×