よねさんのWordとExcelの小部屋 なんでも掲示板

HOME HELP 新規作成 新着記事 ツリー表示 トピック表示 検索 過去ログ

ツリー一括表示

Nomal データの振り訳 /mari Mail (18/04/28(Sat) 22:31) #13245
Nomal Re[1]: データの振分け /mari Mail (18/04/28(Sat) 22:58) #13246
  └Nomal Re[2]: データの振分け /よねさん (18/04/29(Sun) 07:40) #13247
    └Nomal Re[3]: データの振分け /mari Mail (18/04/29(Sun) 20:53) #13251


親記事 / ▼[ 13246 ]
■13245 / 親階層)  データの振り訳
□投稿者/ mari Mail -(2018/04/28(Sat) 22:31:24)
    お世話になっております。
    よねさんのxExcel(エクセル) VBA入門:データを振り分けるを利用させていただきました。ありがとうございました。
    よねさん、データを振り分ける時に、B列から振り分けられる事は出来るのでしょうか?
    よねさんのコードを理解できずに使わせていただいて申し訳ありませんが教えていただけませんでしょうか
    よろしくお願いいたします。


[ □ Tree ] 返信/引用返信 削除キー/

▲[ 13245 ] / ▼[ 13247 ]
■13246 / 1階層)  Re[1]: データの振分け
□投稿者/ mari Mail -(2018/04/28(Sat) 22:58:17)
    すみません。
    追加させてください。
    A列  B列  C列
    1   野菜  とまと のようになっていたときに番号を振り分け先にA列の番号を表示させないようにしたいのですが、よろしくお願いいたします。
[ 親 13245 / □ Tree ] 返信/引用返信 削除キー/

▲[ 13246 ] / ▼[ 13251 ]
■13247 / 2階層)  Re[2]: データの振分け
□投稿者/ よねさん -(2018/04/29(Sun) 07:40:11)
    どのコードを利用されているのかわかりませんので、3つ目のコードの例です。
    B列の値で振り分け先のシートを決めます。
    A列を無視して、B:C列を別シートのA:Bにコピーします。
     '----列見出しをコピー&貼り付け
     Worksheets("Sheet1").Range("B1:C1").Copy Worksheets(myKey).Range("A1")
     と
     '----データを転記する
     Worksheets("Sheet1").Range("B" & i & ":C" & i).Copy _
                        Worksheets(myKey).Range("A" & myRow & ":C" & myRow)
     の2つを B列に変更して、A列を無視しています。
                        
    Sub test1()
        Dim i As Long
        Dim lastRow As Long
        Dim mySh As Worksheet
        Dim myFlg As Boolean
        Dim myRow As Long
        Dim myKey As String
            lastRow = Worksheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
            For i = 2 To lastRow
                '----振り分け先のシートが存在するか否かをチェック
                For Each mySh In Worksheets
                    myFlg = False
                    myKey = Worksheets("Sheet1").Range("B" & i).Value
                    If mySh.Name = myKey Then
                        myFlg = True
                        mySh.Cells.Delete
                        Exit For
                    End If
                Next mySh
                '----振り分け先のシートがなかったらシートを追加する
                If myFlg = False Then
                    ActiveWorkbook.Worksheets.Add(after:=Worksheets(Worksheets.Count)).Name = myKey
                End If
                '----列見出しをコピー&貼り付け
                Worksheets("Sheet1").Range("B1:C1").Copy Worksheets(myKey).Range("A1")
            Next i
            '----データを転記する
            For i = 2 To lastRow
                    myKey = Worksheets("Sheet1").Range("B" & i).Value
                If myKey <> "" Then
                    myRow = Worksheets(myKey).Range("A" & Rows.Count).End(xlUp).Row + 1
                    Worksheets("Sheet1").Range("B" & i & ":C" & i).Copy _
                        Worksheets(myKey).Range("A" & myRow & ":C" & myRow)
                End If
            Next i
    End Sub
    
    

[ 親 13245 / □ Tree ] 返信/引用返信 削除キー/

▲[ 13247 ] / 返信無し
■13251 / 3階層)  Re[3]: データの振分け
□投稿者/ mari Mail -(2018/04/29(Sun) 20:53:41)
    よねさん、ありがとうございました。
    いつも助けられています。
    お礼のメールが遅くなり申し訳ありませんでした。
[ 親 13245 / □ Tree ] 返信/引用返信 削除キー/


Pass/

HOME HELP 新規作成 新着記事 ツリー表示 トピック表示 検索 過去ログ

- Child Tree -