Lisätietoja Microsoft Excel 2000 -versiosta on artikkelissa 213798.

Lisätietoja Microsoft Excel 98 -versiosta ja Excel-versiosta on 149689.

Yhteenveto

Tässä artikkelissa on Microsoft Visual Basic for Applications-mallimenetelmiä, joiden avulla voit käyttää useita erityyppisiä matriiseja.

Lisätietoja

Microsoft tarjoaa ohjelmointiesimerkkejä vain kuvitusta varten ilman nimenomaista tai oletettua takuuta. Tämä sisältää epäsuorat takuut soveltuvuudesta kaupankäynnin tarkoituksessa tai sopivuudesta tiettyyn tarkoitukseen, mutta ei rajoittuen. Tässä artikkelissa oletetaan, että olet tutustunut käytössäsi olevan ohjelmointikielen sekä työkaluihin, joita käytetään ohjelmien luomiseen ja virheenkorjaukseen. Microsoftin tukihenkilöt voivat auttaa selittämään tietyn toimintosarjaan liittyvät toiminnot, mutta he eivät muokkaa näitä esimerkkejä, jotta ne tarjoavat lisätoimintoja tai -menettelytapoja, jotka vastaavat tarpeitasi. HUOMAUTUS: Visual Basic for Applications -ohjeissa heittomerkkiä (') seuraavat sanat ovat kommentteja.

Matriisin täyttämällä ja kopioimalla se sitten laskentataulukkoon

  1. Avaa uusi työkirja ja lisää Visual Basic taulukkoon.

  2. Kirjoita seuraava koodi moduulitaulukkoon.

    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. Valitse Taulukko1.

  4. Valitse Työkalut-valikossa Makro ja valitse sitten Makrot.

  5. Valitse Makro-valintaikkunassa Sheet_Fill_Array ja valitse sitten Suorita.

Jos haluat ottaa arvoja laskentataulukosta ja täyttää matriisin

  1. Kirjoita arvot taulukkoon 1 soluihin A1:A10.

  2. Kirjoita Visual Basic-taulukkoon seuraava koodi:

    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. Valitse Taulukko1.

  4. Valitse Työkalut-valikossa Makro ja valitse sitten Makrot.

  5. Valitse Makro-valintaikkunassa from_sheet_make_array ja valitse sitten Suorita.

Matriisin ohittaminen ja vastaanottaminen

  1. Kirjoita moduulitaulukkoon seuraava koodi:

    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. Valitse Taulukko1 ja korosta alue A1:A10.

  3. Valitse Työkalut-valikossa Makro ja valitse sitten Makrot.

  4. Valitse Makro-valintaikkunassa pass_array ja valitse sitten Suorita.

Kahden matriisin vertailu

  1. Luo kaksi nimettyä solualuetta Taulukko1:ssä. Nimeä alue1 ja toinen alue2.

    Korosta esimerkiksi solualue A1:A10 ja nimeä alue1; korostaa solualueen B1:B10 ja nimetä alueen2.

  2. Kirjoita seuraava koodi moduulitaulukkoon.

    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. Valitse Taulukko2.

  4. Valitse Työkalut-valikossa Makro ja valitse sitten Makro.

  5. Valitse Makro-valintaikkunassa compare_two_array ja valitse sitten Suorita.

    Näet yhden viestiruudun jokaista vertailua varten.

Dynaamisen matriisin täyttämällä

  1. Kirjoita moduulitaulukkoon seuraava koodi:

    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. Valitse Työkalut-valikossa Makro ja valitse sitten Makrot.

  3. Valitse Makro-valintaikkunassa fill_array ja valitse sitten Suorita.

HUOMAUTUS: Muuttujan "number_of_elements" muuttaminen määrittää matriisin koon.

Tarvitsetko lisäohjeita?

Kehitä taitojasi
Tutustu koulutusmateriaaliin
Saat uudet ominaisuudet ensimmäisten joukossa
Liity Microsoft Insider-käyttäjille

Oliko näistä tiedoista hyötyä?

Kuinka tyytyväinen olet käännöksen laatuun?
Mikä vaikutti kokemukseesi?

Kiitos palautteesta!

×