[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『購入先別手配リストの件』(メロン)
発注順に並び変えられているリストがあるのですが、
これを別のシートに購入先ごとに並び変えられた手配リストにするには、
どのような方法があるのでしょうか?
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
かなり理想に近いものができました。
あと、発注数が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.