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つの要素は消滅します。


SharePointOnlineドキュメントセットを使用してコンテンツを管理する

SharePointOnlineドキュメントセットを使用してコンテンツを管理する

Microsoft Office365製品スイートの1つであるSharePointOnlineでは、ドキュメントセットを使用すると、効率的にプロジェクトごとにドキュメントをグループ化し、管理できます。

SharePointでタグ付けする方法

SharePointでタグ付けする方法

SharePointでのタグ付けは、コンテンツの可視性と検索性を向上させるための重要な手法です。

Excelのソルバーエラーメッセージはどういう意味ですか?

Excelのソルバーエラーメッセージはどういう意味ですか?

Excelのソルバーが表示するエラーメッセージの意味を理解し、最適な解決策を見つける方法について詳しく解説します。

Excelの[ソルバーオプション]ダイアログボックスで[GRG非線形]タブを使用する方法

Excelの[ソルバーオプション]ダイアログボックスで[GRG非線形]タブを使用する方法

Excelの[GRG非線形]タブには、GRG非線形解法を使用しているときにソルバーが機能する方法を管理するためのボタンとボックスがあります。オプションを利用し、最適な解決策を得るためのステップを解説します。

SharePointをPowerBIと統合する方法

SharePointをPowerBIと統合する方法

SharePointをPower BIと統合する方法と、レポートをSharePointサイトに接続する方法をLuckyTemplates.comから学びます。

SharePointサイトを共有およびフォローする方法

SharePointサイトを共有およびフォローする方法

個人やグループがコミュニケーション、コラボレーション、共有、接続できるSharePointソーシャルネットワーキングツールの使用方法を学びます。

SharePoint列のデータ入力を検証する

SharePoint列のデータ入力を検証する

SharePoint列のデータ入力を検証する方法を学び、データの整合性を確保するための実践的なソリューションを提供します。

スマートシート 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 は、携帯電話でカレンダーを表示するアプリケーションです。携帯電話で太陰太陽の日付をすぐに確認できるため、重要な仕事を計画することができます。