| 
    
     |  | ▼aribaba さん: >▼かみちゃん さん:
 >>こんにちは。かみちゃん です。
 >>
 >>> ラベル枚数2〜4までを認識して捜操作しているですが(2の場合:元をコピーし > て、加工シートに貼り付け、3の場合:元をコピーして、加工シートに2回貼り付
 >>> け、4の場合:元をコピーをして、加工のシートに3回貼り付け)、出荷明細_デ
 >>> ータベースの量によって、その数値を毎日変わります、いつかなの数値あるの
 >>> か、もちろんない日もありますので、上記のままだと、枚数3ない場合、そのま
 >>> まコピーされます。
 >>
 >>質問内容があまり理解できていないのですが、いただいたコードを眺めてみると、
 >>以下のような感じのことがしたいのでしょうか?
 >>
 >>Sub Sample1()
 >> Dim WS1 As Worksheet
 >> Dim WS2 As Worksheet
 >> Dim rngLast As Range
 >> Dim rngData As Range
 >> Dim intData As Integer
 >>
 >> Set WS1 = Worksheets("出荷明細_データベース)")
 >> Set WS2 = Worksheets("加工")
 >>
 >> Set rngLast = WS1.Range("A" & Rows.Count).End(xlUp)
 >> Set rngData = WS1.Range("A1", rngLast.Offset(, 17))
 >>
 >> MsgBox rngData.Address(, , , True) & " から抽出します"
 >>
 >> For intData = 2 To 4
 >>  rngData.AutoFilter Field:=12, Criteria1:=intData
 >>  With rngData
 >>   Select Case intData
 >>    'L列が2のとき
 >>    Case 2
 >>     .Resize(, 12).Offset(1).Copy WS2.Range("A2")
 >>    'L列が3のとき
 >>    Case 3
 >>     .Resize(, 12).Offset(1).Copy WS2.Range("A14")
 >>     .Resize(, 12).Offset(1).Copy WS2.Range("A24")
 >>    'L列が4のとき
 >>    Case 4
 >>     .Resize(, 12).Offset(1).Copy WS2.Range("A34")
 >>     .Resize(, 12).Offset(1).Copy WS2.Range("A44")
 >>     .Resize(, 12).Offset(1).Copy WS2.Range("A54")
 >>   End Select
 >>  End With
 >> Next
 >> rngData.AutoFilter
 >> MsgBox "処理を終了しました"
 >>End Sub
 >>
 >>一応サンプルファイルを作って動作確認しています。
 >>
 >すみませんが、枚数6から50までになるときはどうすればよろしいですか?
 >枚数2から5までは一つボダンにしていますが、枚数6から50まで7段階で分けてしたいですが。枚数5枚でひとつのボダンにしたいですが、先教えてもらったことを同じことしたいので、こんな時はどうすればいいですか?お手数ですが、お願いします。
 Set rngData = WS1.Range("A1", rngLast.Offset(, 17))
 このコードは17の数字の意味よくわかりませが、教えてもらえませんか?
 
 |  |