Pierakstīties, izmantojot Microsoft
Pierakstīties vai izveidot kontu
Sveicināti!
Atlasīt citu kontu.
Jums ir vairāki konti
Izvēlieties kontu, ar kuru vēlaties pierakstīties.

Kopsavilkums

Šajā rakstā iekļauti Microsoft Visual Basic for Applications procedūru paraugi, kurus varat izmantot darbam ar vairākiem masīvu tipiem.

Papildinformācija

Microsoft nodrošina programmēšanas piemērus tikai ilustrācijai, bet nekādas garantijas nav izteiktas vai netiešas. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. Šajā rakstā tiek pieņemts, ka pārzināt programmēšanas valodu, kas tiek demonstrēta, un rīkus, kas tiek izmantoti, lai izveidotu un atkļūdotu procedūras. Microsoft atbalsta inženieri var palīdzēt izskaidrot konkrētas procedūras funkcionalitāti, bet tie nemodificēs šos piemērus, lai nodrošinātu papildu funkcionalitāti vai uzbūves procedūras, kas atbilst jūsu konkrētajām vajadzībām. PIEZĪME. Visual Basic for Applications procedūrās pēc apostrofa (') ir komentāri.
 

Lai aizpildītu masīvu un pēc tam to kopētu darblapā

  1. Atveriet jaunu darbgrāmatu un ievietojiet Visual Basic moduļa lapu.

  2. Moduļa lapā ierakstiet tālāk norādīto kodu.

    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. Atlasiet Lapa1.

  4. Izvēlnē Rīki norādiet uz Makro un pēc tam noklikšķiniet uz Makro.

  5. Dialoglodziņā Makro noklikšķiniet uz Makro un Sheet_Fill_Array tam uz Izpildīt.

Vērtību aizpildīšana darblapā un masīva aizpildīšana

  1. Šūnās A1:A10 ierakstiet vērtības Lapā1.

  2. Visual Basic moduļa lapā ierakstiet šādu kodu:

    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. Atlasiet Lapa1.

  4. Izvēlnē Rīki norādiet uz Makro un pēc tam noklikšķiniet uz Makro.

  5. Dialoglodziņā Makro noklikšķiniet uz Makro un from_sheet_make_array tam uz Izpildīt.

Lai nodotu un saņemtu masīvu

  1. Moduļa lapā ierakstiet šādu kodu:

    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. Atlasiet Lapa1 un iezīmējiet diapazonu A1:A10.

  3. Izvēlnē Rīki norādiet uz Makro un pēc tam noklikšķiniet uz Makro.

  4. Dialoglodziņā Makro noklikšķiniet uz Makro un pass_array tam uz Izpildīt.

Divu masīvu salīdzināšana

  1. Lapā Lapa1 izveidojiet divus diapazonus ar nosaukumiem. Nosaukiet vienu diapazonu1 un otru diapazonu2.

    Piemēram, iezīmējiet šūnu diapazonu A1:A10 un nosaukiet to par diapazonu1; iezīmējiet šūnu diapazonu B1:B10 un nosaukiet to par diapazonu2.

  2. Moduļa lapā ierakstiet tālāk norādīto kodu.

    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. Atlasiet Lapa2.

  4. Izvēlnē Rīki norādiet uz Makro un pēc tam noklikšķiniet uz Makro.

  5. Dialoglodziņā Makro noklikšķiniet uz Makro un compare_two_array tam uz Izpildīt.

    Katram salīdzinājumam tiks rādīts viens ziņojuma lodziņš.

Lai aizpildītu dinamisko masīvu

  1. Moduļa lapā ierakstiet šādu kodu:

    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. Izvēlnē Rīki norādiet uz Makro un pēc tam noklikšķiniet uz Makro.

  3. Dialoglodziņā Makro noklikšķiniet uz Makro un fill_array tam uz Izpildīt.

PIEZĪME. Mainīgā "number_of_elements" maiņa nosaka masīva lielumu.
 

Nepieciešama papildu palīdzība?

Vēlaties vairāk opciju?

Izpētiet abonementa priekšrocības, pārlūkojiet apmācības kursus, uzziniet, kā aizsargāt ierīci un veikt citas darbības.

Kopienas palīdz uzdot jautājumus un atbildēt uz tiem, sniegt atsauksmes, kā arī saņemt informāciju no ekspertiem ar bagātīgām zināšanām.

Vai šī informācija bija noderīga?

Cik lielā mērā esat apmierināts ar valodas kvalitāti?
Kas ietekmēja jūsu pieredzi?
Nospiežot Iesniegt, jūsu atsauksmes tiks izmantotas Microsoft produktu un pakalpojumu uzlabošanai. Jūsu IT administrators varēs vākt šos datus. Paziņojums par konfidencialitāti.

Paldies par jūsu atsauksmēm!

×