• ベストアンサー

EXCEL で 数値別に その行を 別sheetの表に 貼り付けたい。

一回のマクロで 移動できないでしょうか _____________     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 へ コピーか 移動できないでしょうか? よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.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

takara_kujio
質問者

お礼

ひえー!(◎∀◎)すごい! いまやって見ました~~~できましたできました!! ほんとにありがとうございました~~~ このコード見るのは初めてですわ~~

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

>数値別 とは 上記例では、コード別のことか。数量ごとか。 数量のことの場合、数量は段階別になるのか、数量は整数値で限られた種類なのか。 数量の種類だけ、シートに振り分けるのか。 それであれば、数量でソートして、数量が変わるごとにSheetを変える(Sheetのインデックスを1増やす)すればよいと思う。 >一回のマクロとは、1つのプロシージュアーのことか(1本のプログラム)。 移すのは、セルの値だけで良いのでしょう?

takara_kujio
質問者

補足

はいコード別に 仕分けを 行いたいのですが コピーする値は、行単位で  すみません わたし 初心者で 伝わらなかったらごめんなさい

関連するQ&A