[[20100621144050]] 『改行がある文字列同士の結合方法は?』(ちゅう3) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『改行がある文字列同士の結合方法は?』(ちゅう3)
 はじめて質問させていただきます。
 1つのセル内(A1)で、複数行の文字列があり、他のセル内(B1)の複数行の文字列と改行ごとの
 文字列を結合して別のセル(C1)に表示させるにはどのようにしたらよいでしょうか?

 2行ぐらいなら左からの改行記号までの長さ同士の結合と、次は最初の改行以後から次の改行までの
 文字列の長さ同士を結合するなどで、できるのですが、行数が不特定で数が増減した場合にはどうしたらよいかわかりません。
 よろしくお願いします。

 A1のセルとB1のセルの文字列同士をC1セルに表示させるには?
   A       B       C
 1 AAA     あああ  AAAあああ
   BBB     いいい  BBBいいい
   CCC     ううう  CCCううう

 2 H19     aaa     H19aaa
   H20     bbb     H20bbb
   H21     ccc     H21ccc

 Excel2000、WindowsXPを使用しています。

 ユーザー定義関数で行う場合です。

 まず、標準モジュールに下記を記入してください。

 Function Ex_CONECT(RNG_A As Range, RNG_B As Range)

     Dim L_CNT   As Integer
     Dim WK_A    As Variant
     Dim WK_B    As Variant
     Dim A_CNT   As Integer
     Dim B_CNT   As Integer

     WK_A = Split(RNG_A.Value, Chr(10))
     WK_B = Split(RNG_B.Value, Chr(10))
     A_CNT = UBound(WK_A)
     B_CNT = UBound(WK_B)

     Ex_CONECT = ""
     For L_CNT = 0 To IIf(A_CNT > B_CNT, A_CNT, B_CNT)
         Ex_CONECT = Ex_CONECT & IIf(L_CNT = 0, "", Chr(10))
         If A_CNT >= L_CNT Then
             Ex_CONECT = Ex_CONECT & WK_A(L_CNT)
         End If
         If B_CNT >= L_CNT Then
             Ex_CONECT = Ex_CONECT & WK_B(L_CNT)
         End If
     Next
 End Function

 そしてセルに
 =EX_CONECT(A1,B1)
 と入力するとA1セルとB1セルの改行単位で結合した文字列が得られます。
 なお、式を入力したセルの書式設定の「配置」タブで「折り返して全体を表示する」にチェックを入れておいてください。
 (独覚)

(独覚)様
早速の回答をありがとうございました。
活用させていただきます。
今後ともよろしくお願い致します。

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.