Logg på med Microsoft
Logg på, eller opprett en konto.
Hei,
Velg en annen konto.
Du har flere kontoer
Velg kontoen du vil logge på med.

Sammendrag

Denne artikkelen inneholder eksempelprosedyrer for Microsoft Visual Basic for Applications som du kan bruke til å arbeide med flere typer matriser.

Mer informasjon

Microsoft tilbyr programmeringseksempler bare for illustrasjon, uten garanti enten uttrykt eller underforstått. Dette omfatter, men er ikke begrenset til, de underforståtte garantiene om salgbarhet eller egnethet til et bestemt formål. Denne artikkelen antar at du er kjent med programmeringsspråket som demonstreres, og med verktøyene som brukes til å opprette og feilsøke prosedyrer. Microsoft kundestøtteteknikere kan bidra til å forklare funksjonaliteten til en bestemt prosedyre, men de vil ikke endre disse eksemplene for å gi ekstra funksjonalitet eller konstruere prosedyrer for å oppfylle dine spesifikke krav. OBS! I Visual Basic for Applications prosedyrer er ordene etter apostrofen (') kommentarer.
 

Fylle en matrise og deretter kopiere den til et regneark

  1. Åpne en ny arbeidsbok, og sett inn et Visual Basic-modulark.

  2. Skriv inn følgende kode på modularket.

    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. Velg Ark1.

  4. Pek på Makro på Verktøy-menyen, og klikk deretter Makroer.

  5. Klikk Sheet_Fill_Array i makrodialogboksen, og klikk deretter Kjør.

Slik henter du verdier fra et regneark og fyller matrisen

  1. Skriv inn verdier i Ark1 i celle A1:A10.

  2. Skriv inn følgende kode på et Visual Basic-modulark:

    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. Velg Ark1.

  4. Pek på Makro på Verktøy-menyen, og klikk deretter Makroer.

  5. Klikk from_sheet_make_array i makrodialogboksen, og klikk deretter Kjør.

Sende og motta en matrise

  1. Skriv inn følgende kode på et modulark:

    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. Velg Ark1, og uthev området A1:A10.

  3. Pek på Makro på Verktøy-menyen, og klikk deretter Makroer.

  4. Klikk pass_array i makrodialogboksen, og klikk deretter Kjør.

Sammenligne to matriser

  1. Opprett to navngitte områder på Ark1. Gi navn til ett område1 og det andre området2.

    Du kan for eksempel utheve celleområdet A1:A10 og gi det navnet område1. uthev celleområdet B1:B10 og gi det navnet område2.

  2. Skriv inn følgende kode på modularket.

    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. Velg Ark2.

  4. Pek på Makro på Verktøy-menyen, og klikk deretter Makro.

  5. Klikk compare_two_array i makrodialogboksen, og klikk deretter Kjør.

    Du vil se én meldingsboks for hver sammenligning.

Fylle en dynamisk matrise

  1. Skriv inn følgende kode på et modulark:

    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. Pek på Makro på Verktøy-menyen, og klikk deretter Makroer.

  3. Klikk fill_array i makrodialogboksen, og klikk deretter Kjør.

OBS! Hvis du endrer variabelen number_of_elements, bestemmes størrelsen på matrisen.
 

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.

Fellesskap hjelper deg med å stille og svare på spørsmål, gi tilbakemelding og høre fra eksperter med stor kunnskap.

Var denne informasjonen nyttig?

Hvor fornøyd er du med språkkvaliteten?
Hva påvirket opplevelsen din?
Når du trykker på Send inn, blir tilbakemeldingen brukt til å forbedre Microsoft-produkter og -tjenester. IT-administratoren kan samle inn disse dataene. Personvernerklæring.

Takk for tilbakemeldingen!

×