セル

Last-modified: 2007-02-25 (日) 20:44:49
 

複数値フィールドの値をセルに設定

レジストリのREG_MULTI_SZやREG_BINARYのように、複数の値を持つ外部データを一つのセルに入力するサンプルコード。

ReDim myArray(UBound(myValue))
n=0
For j = LBound(myValue) To UBound(myValue)
myArray(n) = myValue(j)
n = n + 1
Next
Range("A1").Value = Join(myArray)

上記のコードで、変数myValueは複数値を持つ配列データ。その値をひとつずつmyArrayに格納して、最後にJoin関数でひとつにまとめてセルに設定。
前後のコードにもよるが、初めからmyValueが配列だとわかっていてすぐに転記できる状態なら、

Range("A1").Value = Join(myValue)

でOK。

複数のセルの値をひとつのセルにまとめる

「複数値フィールドの値をセルに設定」は外部データを読み込む場合を想定しているが、このコードは単純にExcelシート上の複数のセルの値をひとつのセルにまとめる場合のサンプル。

j = 0
ReDim myValue(Selection.Rows.Count - 1)
For Each r In Selection
myValue(j) = r
j = j + 1
Next
Range("A1").Value = Join(myValue)

Selectionを使っているので、コードを実行する前にひとつにまとめたいセル範囲を選択しておくこと。