Excelでセル範囲を指定して文字列結合

こんな動きをしてくれるユーザー定義関数 merge を作りました。

f:id:domodomodomo:20141004080516p:plain

サンプルのファイルです(´・ω・`)つ『merge関数.xls - Google ドライブ
ダウンロードボタンがあるので、そこからダウンロードできます。

用途としては concatenate が面倒だ(´;ω;`)ブワッ って人向けです。
大量の config や SQL 文を作成するとき
または CSV形式の文字列(カンマ区切り文字列)を作るときに役立ちます。

 


ちなみに...



ユーザー定義関数なので、
上記のエクセルファイルでないと
merge 関数は使えません。

もしご自身が編集しているファイルで
使用してみたいと思った場合は、

以下に記載されたコードを
ユーザー定義関数に追加して、利用してみてください。

ユーザー定義関数方法は
(´・ω・`)つ Excelのユーザー定義関数を理屈抜きで作ろう

難しいかな(。-`ω-)ンー


Option Explicit

Function merge( _
    ByVal r As Range, _
    Optional ByVal d As String = "", _
    Optional ByVal isSpaceRegardless As Boolean = False _
  ) As String

    Dim s As String: s = ""
    Dim c As Variant

    ' 文字列の結合
    For Each c In r
        ' スペースを無視する場合で
        ' セルが空の場合は何もしない。
        If Not (isSpaceRegardless And Len(c) = 0) Then
           s = s & c & d
        End If
    Next c

    ' d が設定されていれば、末尾の d を削除
    If Len(s) <> 0 Then
      s = Left(s, Len(s) - Len(d))
    End If
    
    merge = s

End Function

 




通信機器等の需要予測ツールを作りました!
capacityplanning

Remove all ads