Přihlásit se pomocí účtu Microsoft
Přihlaste se nebo si vytvořte účet.
Dobrý den,
Vyberte jiný účet.
Máte více účtů.
Zvolte účet, pomocí kterého se chcete přihlásit.

Shrnutí

Tento článek obsahuje ukázkové postupy jazyka Microsoft Visual Basic for Applications, které můžete použít k práci s několika typy polí.

Další informace

Microsoft poskytuje programovací příklady pouze pro ilustraci, bez záruky vyjádřené nebo předpokládané. To zahrnuje mimo jiné předpokládané záruky prodejnosti nebo vhodnosti pro určitý účel. Tento článek předpokládá, že jste obeznámeni s programovacím jazykem, který je demonstrován, a s nástroji, které se používají k vytváření a ladění procedur. Technici podpory Microsoftu vám můžou pomoct vysvětlit funkčnost konkrétní procedury, ale tyto příklady nebudou upravovat tak, aby poskytovaly přidané funkce nebo sestavují postupy tak, aby splňovaly vaše konkrétní požadavky. POZNÁMKA: V procedurách jazyka Visual Basic for Applications jsou slova za apostrofem (') komentáře.
 

Vyplnění pole a jeho následné zkopírování do listu

  1. Otevřete nový sešit a vložte list modulu jazyka Visual Basic.

  2. Na listu modulů zadejte následující kód.

    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. Vyberte List1.

  4. V nabídce Nástroje přejděte na Makro a potom klikněte na Makra.

  5. V dialogovém okně Makro klikněte na Sheet_Fill_Array a potom klikněte na Spustit.

Převzetí hodnot z listu a vyplnění pole

  1. Zadejte hodnoty na list List1 do buněk A1:A10.

  2. Na listu modulů jazyka Visual Basic zadejte následující kód:

    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. Vyberte List1.

  4. V nabídce Nástroje přejděte na Makro a potom klikněte na Makra.

  5. V dialogovém okně Makro klikněte na from_sheet_make_array a potom klikněte na Spustit.

Předání a příjem pole

  1. Na listu modulů zadejte následující kód:

    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. Vyberte List1 a zvýrazněte oblast A1:A10.

  3. V nabídce Nástroje přejděte na Makro a potom klikněte na Makra.

  4. V dialogovém okně Makro klikněte na pass_array a potom klikněte na Spustit.

Porovnání dvou polí

  1. Vytvořte dvě pojmenované oblasti na listu List1. Pojmenujte jednu oblast1 a druhou oblast2.

    Například zvýrazněte oblast buněk A1:A10 a pojmenujte ji oblast1; zvýrazněte oblast buněk B1:B10 a pojmenujte ji oblast2.

  2. Na listu modulů zadejte následující kód.

    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. Vyberte List2.

  4. V nabídce Nástroje přejděte na Makro a potom klikněte na Makro.

  5. V dialogovém okně Makro klikněte na compare_two_array a potom klikněte na Spustit.

    Pro každé porovnání se zobrazí jedno okno se zprávou.

Vyplnění dynamického pole

  1. Na listu modulů zadejte následující kód:

    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. V nabídce Nástroje přejděte na Makro a potom klikněte na Makra.

  3. V dialogovém okně Makro klikněte na fill_array a potom klikněte na Spustit.

POZNÁMKA: Změna proměnné "number_of_elements" určí velikost pole.
 

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.

Byly tyto informace užitečné?

Jak jste spokojeni s kvalitou jazyka?
Co ovlivnilo váš názor?
Po stisknutí tlačítka pro odeslání se vaše zpětná vazba použije k vylepšování produktů a služeb Microsoftu. Váš správce IT bude moci tato data shromažďovat. Prohlášení o zásadách ochrany osobních údajů.

Děkujeme vám za zpětnou vazbu.

×