Home » エクセルマクロ・Excel VBAの使い方 » 配列 » VBAのSplit関数で作られた配列から要素を取得する-変数を使わないで

VBAのSplit関数で作られた配列から要素を取得する-変数を使わないで

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

VBA.Strings.Split

「excel vba split 変数を使用しない」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

Excel VBA(Visual Basic for Applications)で、Split関数で変数を使わないで配列を作成して要素を取得する方法を探していた方による検索かな、と想像しています。

[スポンサードリンク]

Split関数の基本

まずはSplit関数の使い方を確認しましょう。

以下のマクロを実行すると、メッセージボックスに「イ」と表示されます。

Sub Split関数で作成した配列から要素を取得する()
 Dim arr() As String
 arr = Split("イ;ロ;ハ", ";")
 MsgBox arr(0)
End Sub

Split関数の第1引数に指定した「イ;ロ;ハ」という文字列から、第2引数に指定された「;」(セミコロン)を区切り文字として、「イ」「ロ」「ハ」を要素として持つ配列を作成して、変数・arrに格納して、
  arr = Split("イ;ロ;ハ", ";")

配列変数・arrの1つ目の要素をメッセージボックスに表示しています。
  MsgBox arr(0)

メッセージボックスを表示する、
  MsgBox arr(0)
の部分を、
  MsgBox arr(1)
とすれば「ロ」が、
  MsgBox arr(2)
とすれば「ハ」が、メッセージボックスに表示されます。

「excel vba split 変数を使用しない」
という検索をなさった方は、このマクロで登場する変数・arrを使わずに同じことを行う方法を探していらしていたのだろう、と私は推測しています。

Split関数で変数を使わずに作られた配列から要素を取得するサンプルマクロ

以下のマクロを実行すると、先のマクロと同じく「イ」がメッセージボックスに表示されます。

Sub Split関数で作成した配列から要素を取得する_変数未使用()
 MsgBox Split("イ;ロ;ハ", ";")(0)
End Sub

上記マクロの、
  MsgBox Split("イ;ロ;ハ", ";")(0)
の部分を
  MsgBox Split("イ;ロ;ハ", ";")(1)
とすれば「ロ」が、
  MsgBox Split("イ;ロ;ハ", ";")(2)
とすれば「ハ」が、メッセージボックスに表示されます。

プログラミング言語によっては、関数などの引数を括るカッコと、配列の添え字・インデックスを括るカッコに、異なった記号を使うケースがあります。例えば、前者は( )で、後者は[ ]のように。VBAよりもそういった言語のほうが、このようなコードは理解しやすいと感じます。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » 配列 » VBAのSplit関数で作られた配列から要素を取得する-変数を使わないで

「配列」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.