0

次の形式の1000エントリのデータセットがあります。

ID名の値


1 Name1 55
2 Name1 5
3 Name2 6
4 Name1 44
5 Name2 33
6 Name1 22

このデータはすべて1つのワークシートに含まれています。名前に従ってデータを分離し、各行を同じワークブックの別々のワークシートに配置することに優れていることを望みます。上記のデータの場合、Excelは2つのシート(Name1とName2)を作成する必要があります。

マクロレコードを試しましたが、生成されたマクロを修正できません。現在のデータに対しては機能しますが、新しいデータを追加した後、マクロはうまく機能しません。

これはVBAまたは他のソリューションで可能ですか?

4

1 に答える 1

0

このコードは、あなたが探していることを行う必要があります:

Sub Macro2()

Range("B2").Select
Do Until Selection.Value = "xxx"
    If Selection.Value = "Name1" Then
        ActiveCell.Rows("1:1").EntireRow.Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("Sheet2").Select
        ActiveCell.Offset(1, 0).Range("A1").Select
        ActiveSheet.Paste
    Else
        ActiveCell.Rows("1:1").EntireRow.Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("Sheet3").Select
        ActiveCell.Offset(1, 0).Range("A1").Select
        ActiveSheet.Paste
    End If
    Sheets("Sheet1").Select
    ActiveCell.Offset(1, 1).Select

Loop
End Sub

予測:

1- 主なデータはシート 1 内にあります

2-データをコピーできるシート2とシート3があります

3-データの最後の行の後に、各セルに xxx を含む行を追加します。それ以外の場合は無限ループになります

4- Name1 と Name2 は列 B にあります

于 2013-01-11T21:05:05.913 に答える