Logga in med Microsoft
Logga in eller skapa ett konto.
Hej,
Välj ett annat konto.
Du har flera konton
Välj det konto som du vill logga in med.

Sammanfattning

Den här artikeln innehåller exempel på Microsoft Visual Basic for Applications-procedurer som du kan använda för att arbeta med flera typer av matriser.

Mer information

Microsoft tillhandahåller endast programmeringsexempel för illustrationer, utan garantier som antingen uttrycks eller är underförstådda. Detta omfattar, men är inte begränsat till, de underförstådda garantierna om säljbarhet eller lämplighet för ett visst ändamål. Den här artikeln förutsätter att du är bekant med programmeringsspråket som demonstreras och med de verktyg som används för att skapa och felsöka procedurer. Microsofts supporttekniker kan hjälpa till att förklara funktionaliteten i en viss procedur, men de ändrar inte de här exemplen för att tillhandahålla ytterligare funktioner eller konstruera procedurer för att uppfylla dina specifika krav. Obs! I Visual Basic for Applications-procedurer är orden efter apostrof (') kommentarer.
 

Så här fyller du i en matris och sedan kopierar den till ett kalkylblad

  1. Öppna en ny arbetsbok och infoga ett Visual Basic-modulblad.

  2. Skriv följande kod på modulbladet.

    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älj Blad1.

  4. Peka på Makro på Verktyg-menyn och klicka sedan på Makron.

  5. Klicka på Sheet_Fill_Array i dialogrutan Makro och klicka sedan på Kör.

Så här tar du värden från ett kalkylblad och fyller matrisen

  1. Skriv värden på Blad1 i cellerna A1:A10.

  2. Skriv följande kod på ett Visual Basic-modulblad:

    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älj Blad1.

  4. Peka på Makro på Verktyg-menyn och klicka sedan på Makron.

  5. Klicka på from_sheet_make_array i dialogrutan Makro och klicka sedan på Kör.

Så här skickar och tar du emot en matris

  1. Skriv följande kod på ett modulblad:

    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älj Blad1 och markera området A1:A10.

  3. Peka på Makro på Verktyg-menyn och klicka sedan på Makron.

  4. Klicka på pass_array i dialogrutan Makro och klicka sedan på Kör.

Så här jämför du två matriser

  1. Skapa två namngivna områden på Blad1. Namnge ett område1 och det andra området2.

    Markera till exempel cellområdet A1:A10 och ge det namnet område1; markera cellområdet B1:B10 och ge det namnet område2.

  2. Skriv följande kod på modulbladet.

    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älj Blad2.

  4. Peka på Makro på Verktyg-menyn och klicka sedan på Makro.

  5. Klicka på compare_two_array i dialogrutan Makro och klicka sedan på Kör.

    Du ser en meddelanderuta för varje jämförelse.

Så här fyller du en dynamisk matris

  1. Skriv följande kod på ett modulblad:

    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. Peka på Makro på Verktyg-menyn och klicka sedan på Makron.

  3. Klicka på fill_array i dialogrutan Makro och klicka sedan på Kör.

Obs! Om du ändrar variabeln "number_of_elements" bestämmer du storleken på matrisen.
 

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.

Hade du nytta av den här informationen?

Hur nöjd är du med språkkvaliteten?
Vad påverkade din upplevelse?
Genom att trycka på skicka, kommer din feedback att användas för att förbättra Microsofts produkter och tjänster. IT-administratören kan samla in denna data. Sekretesspolicy.

Tack för din feedback!

×