2015-09-29 44 views
0

我想在工作簿中创建一个新工作表;名称基于“摘要”工作表的C列(从C4开始)中的信息。到目前为止,我有以下VBA,但是当它到达空白单元格时,它会停止。我需要它忽略空白单元格并继续。任何帮助?基于单元格创建新工作表,但忽略空单元

Sub CreateSheetsFromAListTEST() 

Dim MyCell As Range, MyRange As Range 

Set MyRange = Sheets("Summary").Range("C4") 
Set MyRange = Range(MyRange, MyRange.End(xlDown)) 

For Each MyCell In MyRange 
Sheets.Add after:=Sheets(Sheets.Count) 'creates a new workbook 
Sheets(Sheets.Count).Name = MyCell.Value 'renames the new workbook 
Next MyCell 

End Sub 
+0

我还需要从 “摘要” 工作表的信息自动填入新的工作表。有任何想法吗? – user5390482

回答

0

更换

Set MyRange = Sheets("Summary").Range("C4") 
Set MyRange = Range(MyRange, MyRange.End(xlDown)) 

For Each MyCell In MyRange 
    Sheets.Add after:=Sheets(Sheets.Count) 'creates a new workbook 
    Sheets(Sheets.Count).Name = MyCell.Value 'renames the new workbook 
Next MyCell 

通过

set MyRange=range(sheets("Summary").[c4],sheets("Summary").cells(rows.count,"C").end(xlup)) 

For Each MyCell In MyRange 
    if len(mycell.text)>0 then 
     Sheets.Add after:=Sheets(Sheets.Count) 'creates a new workbook 
     Sheets(Sheets.Count).Name = MyCell.Value 'renames the new workbook 
    end if 
Next MyCell 
+0

谢谢,不幸的是,它仍然停止,当它击中连续两个空单元格 – user5390482

+0

,应该修复它 – nutsch

+0

它的工作!非常感谢! :) – user5390482