Log på med Microsoft
Log på, eller opret en konto.
Hej
Markér en anden konto.
Du har flere konti
Vælg den konto, du vil logge på med.

Oversigt

Denne artikel indeholder eksempler på Microsoft Visual Basic for Applications procedurer, du kan bruge til at arbejde med flere typer matrixer.

Flere oplysninger

Microsoft leverer kun programmeringseksempler som illustration uden garanti, hverken udtrykt eller underforstået. Dette omfatter, men er ikke begrænset til, stiltiende garantier for salgbarhed eller egnethed til et bestemt formål. I denne artikel antages det, at du er bekendt med det programmeringssprog, der demonstreres, og med de værktøjer, der bruges til at oprette og fejlfinde procedurer. Microsofts supportteknikere kan hjælpe med at forklare funktionaliteten af en bestemt procedure, men de vil ikke ændre disse eksempler for at give ekstra funktionalitet eller konstruere procedurer, der opfylder dine specifikke krav. BEMÆRK! I Visual Basic for Applications procedurer er ordene efter apostrof (') kommentarer.
 

Sådan udfylder du en matrix og derefter kopierer den til et regneark

  1. Åbn en ny projektmappe, og indsæt et Visual Basic-modulark.

  2. Skriv 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. Vælg Ark1.

  4. Peg på Makro i menuen Funktioner, og klik derefter på Makroer.

  5. Klik på Sheet_Fill_Array i dialogboksen Makro, og klik derefter på Kør.

Sådan henter du værdier fra et regneark og udfylder matrixen

  1. Skriv værdier på Ark1 i cellerne A1:A10.

  2. Skriv 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. Vælg Ark1.

  4. Peg på Makro i menuen Funktioner, og klik derefter på Makroer.

  5. Klik på from_sheet_make_array i dialogboksen Makro, og klik derefter på Kør.

Sådan overføres og modtages en matrix

  1. Skriv 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. Vælg Ark1, og fremhæv området A1:A10.

  3. Peg på Makro i menuen Funktioner, og klik derefter på Makroer.

  4. Klik på pass_array i dialogboksen Makro, og klik derefter på Kør.

Sådan sammenlignes to matrixer

  1. Opret to navngivne områder på Ark1. Navngiv det ene område1 og det andet område2.

    Fremhæv f.eks. celleområdet A1:A10, og navngiv det område1; fremhæv celleområdet B1:B10, og navngiv det område2.

  2. Skriv 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. Vælg Ark2.

  4. Peg på Makro i menuen Funktioner, og klik derefter på Makro.

  5. Klik på compare_two_array i dialogboksen Makro, og klik derefter på Kør.

    Du får vist ét meddelelsesfelt til hver sammenligning.

Sådan udfyldes en dynamisk matrix

  1. Skriv 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. Peg på Makro i menuen Funktioner, og klik derefter på Makroer.

  3. Klik på fill_array i dialogboksen Makro, og klik derefter på Kør.

BEMÆRK! Hvis du ændrer variablen "number_of_elements", bestemmer det størrelsen på matrixen.
 

Har du brug for mere hjælp?

Vil du have flere indstillinger?

Udforsk abonnementsfordele, gennemse kurser, få mere at vide om, hvordan du sikrer din enhed og meget mere.

Communities hjælper dig med at stille og besvare spørgsmål, give feedback og høre fra eksperter med omfattende viden.

Var disse oplysninger nyttige?

Hvor tilfreds er du med kvaliteten af sproget?
Hvad påvirkede din oplevelse?
Når du trykker på Send, bliver din feedback brugt til at forbedre Microsoft-produkter og -tjenester. Din it-administrator kan indsamle disse data. Erklæring om beskyttelse af personlige oplysninger.

Tak for din feedback!

×