[[20051005002543]] 『指定された検索条件に一致するセルの文字列を結合』(jyo) ページの最後に飛ぶ

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

 

『指定された検索条件に一致するセルの文字列を結合する方法』(jyo)

=SUMIF(D:D,"="&I1,E:E)にて重複する(指定された検索条件に一致する)セルの値を合計することはできますが、セルの値が文字列の場合、文字列を結合して表示されません。
指定された検索条件に一致するセルの文字列を結合することは、可能でしょうか?       
できれば、セルごとにカンマ区切りでひとつのセルに結合したいです。

 C1  A  A  C1,C2,C5
 C2  A  B  C3,C6
 C3  B  C  C4
 C4  C
 C5  A
 C6  B

初心者でVBAを勉強中です。ご教授をお願い致します。


 >=SUMIF(D:D,"="&I1,E:E)にて重複する
 この意味がよく分かりませんが。D列、E列は何?I1の値は?

 >初心者でVBAを勉強中です
 ということなので、VBAにて。私も勉強中なので、あまりきれいな仕上がりではないですが・・・

 A列にC1以下、B列にA以下が入力されているとします。以下マクロを実行すると、C列にB列から検索した値、
D列にA列から検索した値がカンマ付きで表示されます。

 では、お試しを。

 Sub test()

 Dim a, i As Long
 Dim 値 As Variant

 Columns("C:D").Delete Shift:=xlToLeft

 Columns("A:B").Select
 Selection.Sort Key1:=Range("B1"), Order1:=xlAscending, Header:=xlGuess, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
    :=xlPinYin, DataOption1:=xlSortNormal

 i = 2
 値 = Range("B1").Value
 Range("C1").Value = 値
 Range("D1").Value = Range("A1").Value

 For a = 2 To Range("B65536").End(xlUp).Row
    If Range("B" & a).Value = 値 Then
        Range("D65536").End(xlUp).Value = Range("D65536").End(xlUp).Value & "," & _
            Range("A" & a).Value
    Else
        With Range("C65536").End(xlUp)
            .Offset(1).Value = Range("B" & i).Value
            .Offset(1, 1).Value = Range("A" & i).Value
            値 = .Offset(1).Value
        End With
    End If

    i = i + 1
 Next a

 Columns("D").EntireColumn.AutoFit

 End Sub

 ちなみに、
 >セルごとにカンマ区切りでひとつのセルに結合したいです
 これについては、よく分かりませんでしたが、上記マクロでOKかな?

 (ken)

助かりました。ありがとうございます。(jyo)


コメント返信:

[ 一覧(最新更新順) ]


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