0

必要に応じて一種のデータベースを作成しています.1つの行に複数の列があり、それらをマージする必要があり、マクロでこれを行うことができるかどうか疑問に思っています.

さらに難しいことに、結合するセルの量は一定ではありません。いいえ:

  1 A   B   C   MARY JO         50  main office     admin

  2 A   B   C   MARY JO         50  main office     admin

  3 A   B   C   MARY JO         50  main office     admin

  1 A   B   C   JOHN DOE        60  OTHER office    driver

  2 A   B   C   JOHN DOE        60  OTHER office    driver

行 1 ~ 3 と 4 ~ 5 をマージすると、望ましい結果が得られます。写真を投稿する能力がなければ説明するのは難しいですが、列 A と Z 以降は、これらの列に表示される情報が個々の行にあるため、UNMERGED が必要です。

現在の外観:

望ましい最終結果:

4

3 に答える 3

1

次のようなことを試してください:

Private Sub MergeTheseCellsToMakeSomethingLikeADatabase()
    'Crucial Line Below
    Application.DisplayAlerts = False
    Dim i%
    With ThisWorkbook.Sheets("Sheet1")
       For i = .UsedRange.Rows.Count to 2 Step -1
          If .Cells(i,4).Value = .Cells(i-1,4).Value Then
             .Range(.Cells(i,2),.Cells(i-1,2)).Merge
             .Range(.Cells(i,3),.Cells(i-1,3)).Merge
             .... 
             'Do this for all rows that are relevant or just have another for loop to cycle
             'Through the rows that you want merged      
          End If
       Next
    End With
End Sub
于 2013-11-05T15:43:40.400 に答える
0

重複行を削除しようとしていますか? その場合は、データ範囲を強調表示し、メニューから [データ] を選択します。[データ] リボンで、[並べ替えとフィルター] セクションに移動し、[詳細設定] をクリックします。高度なフィルター ダイアログで [別の場所にコピー] を選択し、リスト範囲でデータが選択されていることを確認し、[コピー先] ボックスで、フィルター処理されたリストの移動先を選択し、一意のレコードのみのボックスにチェックを入れます。[OK] をクリックして作業を完了します。

于 2013-09-03T08:41:40.543 に答える