[[20040710233932]] 『購入先別手配リストの件』(メロン) ページの最後に飛ぶ

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

 

『購入先別手配リストの件』(メロン)

発注順に並び変えられているリストがあるのですが、

これを別のシートに購入先ごとに並び変えられた手配リストにするには、

どのような方法があるのでしょうか?

 A  B   C    D     E        F       G      H
工程 品番 品名 背番号 発注単位 購入先  発注数  棚番
 -     -    -     -    -       a      7       -   
 -     -    -     -    -       b      6       -  
 -     -    -     -    -       a      5       -  
 -     -    -     -    -       b      4       - 

 A  B   C    D     E        F       G      H
工程 品番 品名 背番号 発注単位 購入先  発注数  棚番
 -     -    -     -    -       a      7       -   
 -     -    -     -    -       a      5       -  
 -     -    -     -    -       b      6       -  
 -     -    -     -    -       b      4       - 

 シートをコピーして別シートに貼り付け
 購入先で並べ替え、では?
 (jindon)

最悪この方法でやるしかないと思いますが、

少しでも手配工数を低減させる為に、アドバイスをお願いします!(メロン)


 シートをコピーして別シートに貼り付け
 購入先で並べ替え、をマクロで (jindon)

 Sheet2のシータブを右クリック→コードの表示→右側の空白に
 下記コードを貼り付け。
 Sheet2を選択するたびに作動

 Private Sub Worksheet_Activate()
    Application.ScreenUpdating = False
    With Sheets("Sheet2")
        .Cells.Clear
        Sheets("Sheet1").Range("A1").CurrentRegion.Copy _
            Destination:=.Range("A1")
        .Range("A1").CurrentRegion.Select
        Selection.Sort Key1:=Range("F2"), _
            Order1:=xlAscending, Header:=xlGuess
        .Range("A1").Select
    End With
    Application.ScreenUpdating = True
 End Sub

jindonさんありがとうございました!

かなり理想に近いものができました。

あと、発注数が1より小さい場合は表示せず詰めてリストの出すには

どうしたらいいですか?よろしくお願いします。(メロン)


 おはようございます。

発注数が1より小さい場合は表示せず詰めてリストの出すには・・・
 この次に質問される際には、このような条件全てはじめに明記しましょう。 
 これが一番重要なことです。

 コードを下記に変えてください。
 (jindon)

 Private Sub Worksheet_Activate()
 Dim i As Integer, ws1 As Worksheet, ws2 As Worksheet
 Set ws1 = Sheets("Sheet1")
 Set ws2 = Sheets("Sheet2")
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    With ws2
        .Cells.Clear
        ws1.Rows(1).Copy Destination:=.Rows(1)
        For i = 2 To ws1.Range("A65536").End(xlUp).Row
            If ws1.Cells(i, 7).Value > 0 Then

                ws1.Rows(i).Copy _
                Destination:=.Rows(.Range("A65536").End(xlUp).Row + 1)

            End If
        Next
        .Range("A1").CurrentRegion.Select
        Selection.Sort Key1:=Range("F2"), _
            Order1:=xlAscending, Header:=xlGuess
        .Range("A1").Select
    End With
    Application.ScreenUpdating = True
    Application.EnableEvents = True
 End Sub

コメント返信:

[ 一覧(最新更新順) ]


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