2016-11-04 1 views
0

私はマスターワークシートからデータを分割しますが、同じエクセルブックにそのデータを保持したいと考えています。私は新しいワークシートを作成する必要があります。これは、C2からC19までの範囲のセルに基づいて作成されたものです(次のコードを使用してこれを行うことができました)。私は見出しと新しいワークシートに貼り付けマスターに関連する行内のすべてのデータを希望作成されたそれぞれの新しいワークシートにマスターからのワークシートの自動生成と移入

Sub CreateSheetsFromAList() 
    Dim MyCell As Range, MyRange As Range 

    Set MyRange = Sheets("Master").Range("C2") 
    Set MyRange = Range(MyRange, MyRange.End(xlDown)) 

    For Each MyCell In MyRange 
     Sheets.Add After:=Sheets(Sheets.Count) 'creates a new worksheet 
     Sheets(Sheets.Count).Name = MyCell.Value ' renames the new worksheet 
    Next MyCell 
End Sub 

。つまり、C2 = 10、ワークシート名10、マスターからのA1とQ1、A2からQ2までのすべてのデータを含む)Cの詳細に基づいて同じワークシートを追加する必要があります

VBAにとっては非常に新しく、その間に助けてくださいいくつかの訓練を取るために探しています。

おかげで、

ポール。

+0

新しいシートを追加するのではなく、マスターシートをコピーすると思いましたか?そうすれば、データはすでにそこにあるでしょうか? – SJR

答えて

0
Sub CreateSheetsFromAList() 

Dim startsheet As Worksheet 
Dim newsheet As Worksheet 
Dim MyCell As Range, MyRange As Range 

Set startsheet = Sheets("Sheet1") 
Set MyRange = startsheet.Range("C2") 
Set MyRange = Range(MyRange, MyRange.End(xlDown)) 

For Each MyCell In MyRange 
    Set newsheet = Sheets.Add(After:=Sheets(Sheets.Count)) 
    Sheets(Sheets.Count).Name = MyCell.Value 
    startsheet.Rows(1).Copy newsheet.Range("a1") 
    MyCell.EntireRow.Copy newsheet.Range("a2") 
Next MyCell 

End Sub 
関連する問題