Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

Podsumowanie

Ten artykuł zawiera przykładowe procedury Visual Basic for Applications firmy Microsoft, za pomocą których można pracować z kilkoma typami tablic.

Więcej informacji

Firma Microsoft udostępnia przykłady programowania tylko na ilustracje, bez gwarancji wyrażonej lub dorozumianej. Dotyczy to między innymi dorozumianych gwarancji przydatności handlowej lub przydatności do określonego celu. W tym artykule założono, że znasz język programowania, który jest prezentowany, oraz narzędzia służące do tworzenia i debugowania procedur. Inżynierowie pomocy technicznej firmy Microsoft mogą pomóc w objaśnieniu funkcjonalności określonej procedury, ale nie zmodyfikują tych przykładów w celu zapewnienia dodatkowych funkcji ani skonstruowania procedur spełniających określone wymagania. UWAGA: W Visual Basic for Applications procedurach wyrazy po apostrofu (') to komentarze.
 

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

  1. Otwórz nowy skoroszyt i wstaw arkusz modułu języka Visual Basic.

  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 pozycję Makra.

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

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

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

  2. W arkuszu modułu języka Visual Basic 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 pozycję Makra.

  5. W oknie dialogowym Makro kliknij pozycję from_sheet_make_array, a następnie kliknij pozycję 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 pozycję Makra.

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

Aby porównać dwie tablice

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

    Na przykład wyróżnij zakres komórek A1:A10 i nadaj im nazwę zakres1. wyróżnij zakres komórek B1:B10 i nadaj im nazwę 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 pozycję Makro.

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

    Dla każdego porównania zostanie wyświetlone 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 pozycję Makra.

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

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

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×