Excel2016でのVBAプログラミング用の配列の操作

ほとんどのプログラミング言語は、VBAを含む配列をサポートしています。配列は名前を共有する変数のグループです。括弧内の配列名とインデックス番号を使用して、配列内の特定の変数を参照します。たとえば、12個の文字列変数の配列を定義して、その年の月の名前を保持できます。配列にMonthNamesという名前を付けると、配列の最初の要素をMonthNames(1)、2番目の要素をMonthNames(2)というように参照できます。

配列の宣言

配列を使用する前に、配列を宣言する必要があります。例外なく。通常の変数とは異なり、VBAはこのルールについて非常に厳格です。通常の変数を宣言するのと同じように、DimまたはPublicステートメントを使用して配列を宣言します。ただし、配列内の要素の数も指定する必要があります。これを行うには、最初のインデックス番号、キーワードTo、および最後のインデックス番号をすべて括弧内に指定します。次の例は、100個の整数の配列を宣言する方法を示しています。

Dim MyArray(1から100)As Integer

配列を宣言するときは、上位インデックスのみを指定することを選択できます。下位のインデックスを省略すると、VBAはそれが0であると見なします。したがって、次のステートメントは両方とも同じ101要素の配列を宣言します。

Dim MyArray(0から100)As Integer
Dim MyArray(100)As Integer

VBAで(0ではなく)1が配列の下位インデックスであると想定する場合は、モジュールの上部にある[宣言]セクションに次のステートメントを含めます。

オプションベース1

このステートメントにより、VBAは、上位インデックスのみを宣言する配列の最初のインデックス番号として1を使用するように強制されます。このステートメントが存在する場合、次のステートメントは同一であり、どちらも100要素の配列を宣言します。

Dim MyArray(1から100)As Integer
Dim MyArray(100)As Integer

多次元配列

前の例で作成された配列はすべて1次元配列です。1次元配列を1行の値と考えてください。VBAで作成する配列は、最大60の次元を持つことができますが、配列に2つまたは3つを超える次元が必要になることはめったにありません。次の例では、2次元の81整数配列を宣言しています。

Dim MyArray(1から9、1から9)As Integer

この配列は、9 x 9の行列を占めると考えることができます。これは、数独パズルにすべての数値を格納するのに最適です。

この配列内の特定の要素を参照するには、2つのインデックス番号を指定する必要があります(マトリックス内の「行」と「列」と同様)。次の例は、この配列の要素に値を割り当てる方法を示しています。

MyArray(3、4)= 125

このステートメントは、配列内の1つの要素に値を割り当てます。9 x 9の行列の観点から配列を考えている場合、これにより、行列の3番目の行と4番目の列にある要素に125が割り当てられます。

1,000個の要素を持つ3次元配列を宣言する方法は次のとおりです。

Dim My3DArray(1から10、1から10、1から10)整数として

3次元配列は立方体と考えることができます。3次元を超える配列を視覚化することはより困難です。

動的配列

動的配列を作成することもできます。動的配列には、事前設定された数の要素がありません。空の括弧のセットを使用して動的配列を宣言します。

Dim MyArray()As Integer

この配列を使用する前に、ReDimステートメントを使用して、配列に含まれる要素の数をVBAに通知する必要があります。通常、配列内の要素の数は、コードの実行中に決定されます。ReDimステートメントは何度でも使用でき、必要に応じて配列のサイズを変更できます。次の例は、動的配列の要素数を変更する方法を示しています。NumElements変数には、コードで計算された値が含まれていることを前提としています。

ReDim MyArray(1からNumElements)

ReDimを使用して配列のサイズを変更すると、配列要素に現在保存されている値がすべて消去されます。Preserveキーワードを使用すると、古い値の破棄を回避できます。次の例は、配列のサイズを変更するときに配列の値を保持する方法を示しています。

ReDim Preserve MyArray(1からNumElements)

MyArrayに現在10個の要素があり、NumElementsが12に等しい前のステートメントを実行すると、最初の10個の要素はそのまま残り、配列には2つの追加要素(変数NumElementsに含まれる数まで)の余地があります。ただし、NumElementsが7に等しい場合、最初の7つの要素は保持されますが、残りの3つの要素は消滅します。


スマートシート 9.1.1

スマートシート 9.1.1

Smartsheet は、プロジェクトの管理、ワークフローの構築、チームとの共同作業を可能にする動的な作業プラットフォームです。

共有ポイント

共有ポイント

SharePoint は、さまざまなワークフロー アプリケーション、「リスト」データベース、その他の Web コンポーネント、およびビジネス グループの共同作業を制御するためのセキュリティ機能を使用する Web ベースのコラボレーション システムです。

パーペチュアルカレンダー 1.0.38/1.0.36

パーペチュアルカレンダー 1.0.38/1.0.36

Van Nien Calendar は、携帯電話でカレンダーを表示するアプリケーションです。携帯電話で太陰太陽の日付をすぐに確認できるため、重要な仕事を計画することができます。

Microsoft Outlook 2021

Microsoft Outlook 2021

Microsoft Outlook は、Microsoft Corporation によって開発されたビジネスおよび生産性アプリケーションです。

クリックアップ

クリックアップ

ClickUp は、あらゆるビジネスにとって最も評価の高い生産性プラットフォームの 1 つです。Google、Booking.com、サンディエゴ・パドレス、Uber などの大企業はすべて、職場の生産性を向上させるために ClickUp を使用しています。

PDF-XChange ビューア 2.5.322.10

PDF-XChange ビューア 2.5.322.10

PDF は、テキスト ドキュメントの読み取り、作成、送信に一般的に使用される形式になっています。その結果、この種のドキュメントに使用されるプログラムの数も増加しました。PDF-XChange Viewer は、ますます多くの PDF ビューアの 1 つです。

Apache OpenOffice

Apache OpenOffice

Apache OpenOffice は、特に Excel、PowerPoint、Word など、Microsoft 365 に匹敵する Office アプリケーションの完全なスイートを提供します。プロジェクトをより効率的に管理できるようになり、いくつかのファイル形式がサポートされます。

iTaxviewer 1.8.7をダウンロード

iTaxviewer 1.8.7をダウンロード

iTaxViewer ソフトウェアは、現在最も人気のある XML ファイル読み取りソフトウェアです。このソフトウェアは、国税総局のXML形式の電子申告書を閲覧するためのアプリケーションです。

Nitro PDF リーダー

Nitro PDF リーダー

Nitro PDF Reader は、ほとんどの人が PDF ドキュメントを使用して毎日実行する基本的なタスクをすべてカバーする便利な PDF エディターです。

Foxit リーダー 12

Foxit リーダー 12

Foxit Reader は主に PDF リーダーですが、PDF ファイルの作成、署名、編集、注釈の追加も可能です。オペレーティング システム上で動作し、Microsoft Office パッケージのさまざまなプログラム用のプラグインがあります。