範囲が "A1:IV1000"(必要なものに変更)であると仮定します。最後に、元の範囲がクリアされ、結果の配列がダンプされます。
(下の画像における細胞
A4
で)式を用いて
Sub ConcatColumns()
Dim rng As Range
Dim x As Long, c As Integer, z As Integer
Dim arr, arrResult
Const COLS As Integer = 256
Set rng = Range("A1:IV100") '//256 columns
arr = rng.Value
ReDim arrResult(1 To UBound(arr, 1), 1 To COLS/2)
For x = 1 To UBound(arr, 1)
z = 1
For c = 1 To COLS - 1 Step 2
arrResult(x, z) = arr(x, c) & arr(x, c + 1)
z = z + 1
Next
Next
rng.ClearContents '//Clear all previous data
Range("A1").Resize(UBound(arrResult, 1), UBound(arrResult, 2)).Value = arrResult '//Dump result
End Sub
コル= 1〜256、ステップ2 'ループに使用 '、次いでinisdeあなた' Concatenate'を行います –
私はVBを使うべきですか?またはExcelで行うことができます –
どのExcelのバージョンを使用していますか? –