|
▼かみちゃん さん:
>こんにちは。かみちゃん です。
>
>> ラベル枚数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枚でひとつのボダンにしたいですが、先教えてもらったことを同じことしたいので、こんな時はどうすればいいですか?お手数ですが、お願いします。
|
|