Aby uzyskać Microsoft Excel tego artykułu w wersji 2000, zobacz 213798.

Aby uzyskać Microsoft Excel 98 i wcześniejszych wersji tego Excel tego artykułu, zobacz artykuł 149689.

Podsumowanie

Ten artykuł zawiera przykładowe procedury Visual Basic for Applications firmy Microsoft, których można używać do pracy z kilkoma typami tablic.

Więcej informacji

Firma Microsoft podaje przykłady programowania wyłącznie na ilustracji bez gwarancji, czy to wyraźnie, czy dorozumianej. Obejmuje to dorozumianą gwarancję przydatności handlowej lub przydatności do określonego celu (ale nie wyłącznie). W tym artykule założono, że znasz język programowania, który jest pokazywany, oraz narzędzia używane do tworzenia i debugowania procedur. Inżynierowie pomocy technicznej firmy Microsoft mogą pomóc w objaśnieniach funkcjonalności określonej procedury, ale nie zmodyfikują tych przykładów, aby udostępnić dodatkowe funkcje lub skonstruować procedury w celu spełnienia określonych wymagań. UWAGA: w Visual Basic for Applications procedury wyrazy po apostrofie (') są komentarzami.

Aby wypełnić tablicę, a następnie skopiować ją do arkusza

  1. Otwórz nowy skoroszyt i wstaw Visual Basic arkusza modułu.

  2. Wpisz poniższy kod w arkuszu modułu.

    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. Wybierz pozycję Arkusz1.

  4. W menu Narzędzia wskaż polecenie Makro, a następnie kliknij polecenie Makra.

  5. W oknie dialogowym Makro kliknij przycisk Sheet_Fill_Array, a następnie kliknij przycisk Uruchom.

Aby przyjąć wartości z arkusza i wypełnić tablicę

  1. Wpisz wartości z arkusza Arkusz1 w komórkach A1:A10.

  2. W Visual Basic modułu wpisz następujący kod:

    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. Wybierz pozycję Arkusz1.

  4. W menu Narzędzia wskaż polecenie Makro, a następnie kliknij polecenie Makra.

  5. W oknie dialogowym Makro kliknij przycisk from_sheet_make_array, a następnie kliknij przycisk Uruchom.

Aby przekazać i odebrać tablicę

  1. W arkuszu modułu wpisz następujący kod:

    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. Wybierz pozycję Arkusz1 i wyróżnij zakres A1:A10.

  3. W menu Narzędzia wskaż polecenie Makro, a następnie kliknij polecenie Makra.

  4. W oknie dialogowym Makro kliknij przycisk pass_array, a następnie kliknij przycisk Uruchom.

Aby porównać dwie tablice

  1. Utwórz dwa nazwane zakresy w arkuszu Arkusz1. Nazwij jeden zakres1 i drugi zakres2.

    Można na przykład wyróżnić zakres komórek A1:A10 i nazwać go zakres1. zaznacz zakres komórek B1:B10 i nadaj nazwę zakresowi zakres2.

  2. Wpisz poniższy kod w arkuszu modułu.

    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. Wybierz pozycję Arkusz2.

  4. W menu Narzędzia wskaż polecenie Makro, a następnie kliknij polecenie Makro.

  5. W oknie dialogowym Makro kliknij przycisk compare_two_array, a następnie kliknij przycisk Uruchom.

    Dla każdego porównania będzie pojawiać się jedno okno komunikatu.

Aby wypełnić tablicę dynamiczną

  1. W arkuszu modułu wpisz następujący kod:

    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. W menu Narzędzia wskaż polecenie Makro, a następnie kliknij polecenie Makra.

  3. W oknie dialogowym Makro kliknij przycisk fill_array, a następnie kliknij przycisk Uruchom.

UWAGA: Zmiana zmiennej "number_of_elements" będzie określać rozmiar tablicy.

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?

Dziękujemy za opinię!

×