0

Excel には、いくつかのシート (約 50) があり、それぞれの列 A、B、C に同じヘッダーがあり、最大 199 行のデータ (行 1 = ヘッダー、行 2-200 = データ) があります。命名ルーチンはWk 1 MonWk 2 Tue、 などからWk 10 Fri

私がやりたいのは、これらのタブのすべてのデータを 1 つのリストの 1 つのシートに表示することです。各シートの各セルを上下に参照することでこれを実行できる可能性がありますが、問題は、すべてのシートが実際に行 200 までデータを持っているわけではないことです (ヘッダーだけを持つものもあります)。行。

Excelでこれにアプローチする方法がまったくわかりません。などについての私の理解はVLOOKUPせいぜい初歩的なものです。その機能ファミリーを使用して必要なものを達成できるかどうかさえわかりません。

Excel の統合機能も調べましたが、このシナリオでは必要ないと思います。

誰かが私の目標を達成する方法を教えてください。ワークシートのみの関数を使用してこれを行うことを好みますが、十分に簡単な解決策があれば、VBA を使用できます。

4

1 に答える 1

1

Try this bit of VBA. It basically scrolls through each worksheet, finds the last row and pastes it on the bottom of the first sheets data. It's a bit crude in methodology but it does work!

Dim ws As Worksheet

For Each ws In Worksheets
    i = i + 1

    If i = 1 Then
        FirstSheet = ws.Name
    ElseIf i > 1 Then
        ws.Activate
        LastCell = Cells(65536, 1).End(xlUp).Row
        Range("A1:C" & LastCell).Select

        Selection.Copy
        Worksheets(FirstSheet).Activate
        Cells(Cells(65536, 1).End(xlUp).Row + 1, 1).Select
        ActiveCell.PasteSpecial xlPasteValuesAndNumberFormats
    End If
Next ws
于 2016-04-07T15:22:54.030 に答える