ID非公開さん
2022/5/13 11:41
1回答
エクセルの件で質問です。 sheet1(全体)にすべてのデータを入力すると sheet2(33-15-20)とsheet3(21-8-20)に自動で振り分けなるように したいのですが・・・。
エクセルの件で質問です。 sheet1(全体)にすべてのデータを入力すると sheet2(33-15-20)とsheet3(21-8-20)に自動で振り分けなるように したいのですが・・・。 分け方はX列が33-15-20Nならsheet2 21-8-20Nならsheet3です。 シートはすべて同じものになってます よろしくお願いいたします。
Excel・225閲覧
ベストアンサー
VBAなら↓な感じでどうでしょう?見出し等は予め入力してあるとして元シートと同じ9行目から転記しています。 Option Base 1 Sub 振り分け() Dim myRng As Range Dim rAry(2, 2) As Variant Dim wsNum As Long, lstRow As Long, i As Long lstRow = Cells(Rows.Count, 1).End(xlUp).Row rAry(1, 1) = "Sheet2": rAry(1, 2) = 9: rAry(2, 1) = "Sheet3": rAry(2, 2) = 9 For i = 9 To lstRow Step 2 Select Case Cells(i, 23) Case "33-15-20N" wsNum = 1 Case "21-8-20N" wsNum = 2 End Select Set myRng = Range(Cells(i, 1), Cells(i + 1, 23)) myRng.Copy Destination:=Worksheets(rAry(wsNum, 1)).Cells(rAry(wsNum, 2), 1) rAry(wsNum, 2) = rAry(wsNum, 2) + 2 Next i Application.CutCopyMode = False MsgBox "振り分け完了!" Set myRng = Nothing End Sub 簡単なテストしかしてないので、おかしければご返信ください。
ID非公開さん
質問者2022/5/18 9:53
やってみましたがなりませんでした。 このマクロは、全体シートにでいいんですよね?? 画像を一応のせます。 全然わからないのでやり方間違っていたらすいません。
質問者からのお礼コメント
無事に成功いたしました!! 義丁寧に対応いただきありがとうございます。 とっても助かりました!!
お礼日時:5/19 10:43