2017-11-23 10 views
0

私はVBAの初心者です。ご協力をお願いします。 オーダーのデータを含む新しいシートを追加し続けるデータベースがあります。 シートを追加するたびに、リストのシート名とそのセルの特定のセルが自動リフレッシュされたマスターシートを作成したいとします。 ありがとうございます。複数のシートから1枚のマスターシートに特定のデータを転送

答えて

0

私は、(シート1は、マスターシートことになっている)、これを試してみたし、期待どおりに動作している:

Sub foo() 
i = 0 
For Each Ws In ThisWorkbook.Worksheets 
    If Ws.Name <> "Sheet1" Then 'Do not include the Master Sheet 
     Sheet1.Cells(i, 1).Value = Ws.Name 
     x = i 
     Ws.UsedRange.copy Destination:=Sheet1.Range("B" & i) 
     i = Sheet1.Cells(Sheet1.Rows.Count, "B").End(xlUp).Row 
     For y = x To i 
      Sheet1.Cells(y, 1).Value = Sheet1.Cells(x, 1).Value 
     Next y 
    End If 
i = i + 1 
Next 
End Sub 

新しいシートが追加されたときにコードをトリガするために:

Private Sub Workbook_NewSheet(ByVal Sh As Object) 
    'put the code here 
End Sub 
関連する問題