Option Explicit
'▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲
'■【メイン処理】
'▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼
Sub main()
Dim myRange As Range
Dim F_Array() As String
Erase F_Array() '■ 配列初期化■
Set myRange = ActiveSheet.Range("B2", "C20") '■ セル範囲を格納■
'***************************************
'■【セル範囲を配列化する処理】
'***************************************
Call Func_03(myRange, F_Array()) '■ 関数呼び出し■
Cells(22, "B") = F_Array(0) '戻り値をセルに反映
Cells(23, "B") = F_Array(1) '戻り値をセルに反映
Cells(24, "B") = F_Array(2) '戻り値をセルに反映
'***************************************
Set myRange = Nothing
'★ myRange.Cells.SpecialCells(xlCellTypeBlanks).Interior.Color = RGB(255, 128, 128)
End Sub
'▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼
'************************************************
'■【セル範囲を配列化する処理】
'************************************************
Function Func_03(R_Range As Range, R_Array() As String)
Dim myArray As Variant
myArray = R_Range
Dim Row_max, Column_max As Long '■ 行/列の変数■
Row_max = UBound(myArray, 1) '■ 行要素番号の最大値を取得(第二引数は省略可)■
Column_max = UBound(myArray, 2) '■ 列要素番号の最大値を取得■
Dim Row_i, Column_i As Long '■ 行/列のカウント用変数■
Dim Array_1, Array_2 As String '■ 1列/2列の文字列を格納する変数■
Dim Array_S As String '■ 1列+2列を繋げて格納する変数■
ReDim R_Array(Row_max - 1)
'---------------------------------------
'■ 配列の中身を確認
'---------------------------------------
For Row_i = 1 To Row_max
Array_1 = myArray(Row_i, 1)
Array_2 = myArray(Row_i, 2)
Array_S = Array_1 & Array_2
Cells(Row_i, "N") = Array_S '■ セルに転記する■
R_Array(Row_i - 1) = Array_S '■ 戻り値として配列に格納■
Next
'---------------------------------------
Set myArray = Nothing
End Function
'************************************************
PR
COMMENT