プロが教える店舗&オフィスのセキュリティ対策術

一回のマクロで 移動できないでしょうか


_____________
    A   B     C       D
1  日付  コード  仕入れ金額   数量
2  10/2  0098    20       9
3  10/2  0008    21       9
4  10/3  0128    23       10
5  10/4  0098    24       9
6  10/9  0128    23       12

コード0098のデータ行を sheet2 へ
コード0128のデータ行を sheet3 へ
コード0008のデータ行を sheet4 へ

コピーか 移動できないでしょうか?
よろしくお願いいたします。

A 回答 (2件)

こんばんは。



こんなことかな?一応、コピーにしてあります。
コードには、抜け落ちがないものという前提にしてあります。

Sub TurnOverCodeClassifying()
  Dim myCodes() As Variant
  Dim c As Range
  Dim Ret As Variant
  Dim i As Long
  Dim j As Integer
  myCodes() = Array("0098", "0128", "0008")
  With ActiveSheet
   'タイトル行の貼り付け
   For j = 2 To 4
     .Rows(1).Copy Worksheets("Sheet" & j).Rows(1)
   Next j
   For Each c In .Range("B2", Range("B65536").End(xlUp))
     On Error Resume Next
     Ret = WorksheetFunction.Match(c.Text, myCodes, 0)
     On Error GoTo 0
     If Ret <> Empty Then
      i = Ret + 1
      c.Offset(, -1).Resize(, 4).Copy _
      Worksheets("Sheet" & i).Range("A65536").End(xlUp).Offset(1)
      Ret = Empty
     End If
   Next c
  End With
End Sub
    • good
    • 0
この回答へのお礼

ひえー!(◎∀◎)すごい!
いまやって見ました~~~できましたできました!!

ほんとにありがとうございました~~~
このコード見るのは初めてですわ~~

お礼日時:2005/10/29 00:13

>数値別 とは 上記例では、コード別のことか。

数量ごとか。
数量のことの場合、数量は段階別になるのか、数量は整数値で限られた種類なのか。
数量の種類だけ、シートに振り分けるのか。

それであれば、数量でソートして、数量が変わるごとにSheetを変える(Sheetのインデックスを1増やす)すればよいと思う。
>一回のマクロとは、1つのプロシージュアーのことか(1本のプログラム)。
移すのは、セルの値だけで良いのでしょう?

この回答への補足

はいコード別に 仕分けを 行いたいのですが

コピーする値は、行単位で 

すみません わたし 初心者で 伝わらなかったらごめんなさい

補足日時:2005/10/28 23:27
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!