Excel2013でTEXTJOINを使えるようにする
https://gyazo.com/7f0f745382f73758790b6737e33ca5d8
https://gyazo.com/d83729f74f357e0d82e2f8d51310d0df
病理診断や所見を自動出力するテンプレートでは、マクロなどの入力に応じて出力した項目を最終的には一つのセルに並べてまとめます。そのセルをコピーして、電子カルテ上にペーストします。
TEXTJOIN関数を使いますが、Excel2013では関数がまだ存在しません。Excel2016以降の場合は、そのままTEXTJOIN関数を使えます。セルを&でつなぐなどの方法でもよいですが、多数のセルをつなくので、下記のウェブサイトを参考にしました。 2018 経理・会計事務所向けエクセルスピードアップ講座 2016/4/6
nananana.icon サイトが消えてしまうと困るので以下に転記しておきます。うまくいかない場合は元のサイトのプログラムをコピーアンドペーストしてください。
標準モジュールにコピーするテンプレ(Function~End Functioまでコピペ)
/nananana-icon/ファイル.icon 複数のセルを順番にまとめたい(TEXTJOIN関数を使いたい)
/nananana-icon/処理.icon 2013以前のバージョンでもTEXTJOIN関数を使用できる様にするユーザー定義関数
Function TEXTJOIN(Delim, Ignore As Boolean, ParamArray par())
Dim i As Integer
Dim tR As Range
TEXTJOIN = ""
For i = LBound(par) To UBound(par)
If TypeName(par(i)) = "Range" Then
For Each tR In par(i)
If tR.Value <> "" Or Ignore = False Then
TEXTJOIN = TEXTJOIN & Delim & tR.Value2
End If
Next
Else
If par(i) <> "" Or Ignore = False Then
TEXTJOIN = TEXTJOIN & Delim & par(i)
End If
End If
Next
TEXTJOIN = Mid(TEXTJOIN, Len(Delim) + 1)
End Function