concatenate関数を範囲指定で行えないかと考えていたらよさげな関数が落ちていたのでメモ。
Function CONCATENATERANGE(ParamArray Elements())
Dim c, ub As Long
Dim t As String
Dim rng, rngs As Range
ub = UBound(Elements())
t = ""
For c = 0 To ub
Set rngs = Elements(c)
For Each rng In rngs
If Not IsEmpty(rng.Value) Then
t = t & rng.Value
End If
Next
Next c
CONCATENATERANGE = t
End Function
使用方法は下記の通り。
CONCATENATERANGE([範囲])
これはくっそ便利