2016-04-07 10 views
0

ExcelでExcel、A列、B列、C列に同じヘッダーがあり、最大199行のデータ(行1 =ヘッダー、行2〜200 =データ)。命名ルーチンは、私は何をしたいのは1枚の用紙に、1つのリストにこれらのタブからすべてのデータを表示しているなどWk 1 MonWk 2 Tue、など、すべての方法Wk 10 Fri多くのシートのデータを1つにまとめます

までです。私は潜在的に、各シートの各セルを参照することでこれを行うことができますが、問題は、すべてのシートが実際に200行までのデータを持っているわけではないことです(一部にはヘッダーがあります)。行。

Excelでこれにどのようにアプローチするかは全く分かりません。 VLOOKUPなどの私の理解は、最高で基本的なものです。その関数ファミリを使用することによって必要なものを達成できるかどうかはわかりません。

私はExcelの統合機能についても見てきましたが、私はこのシナリオで必要とは思わないと思います。

誰かが私の目標を達成する方法をお勧めしますか?私は、ワークシートのみの機能でこれを行うことを好むだろうが、私はVBAに十分な簡単なソリューションがあれば、開いているだろう。

答えて

1

このVBAを試してみてください。基本的には、各ワークシートをスクロールし、最後の行を見つけて最初のシートデータの最後に貼り付けます。それは方法論で少し原油ですが、それは動作します!

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 
+0

私はおそらくApplication.ScreenUpdating = False/Application.ScreenUpdating = Trueを使用して、コードの始めと終わりに画面の更新をオフにします。 –