我必须使用宏通过命名第一列值(活动单元格)来创建新工作表,并且需要提供不同的标题名称,并且特定的列值需要复制到新创建的工作表中。
注意:一些列值需要从源工作表复制到新工作表,并且需要为新工作表的活动单元格第一列值指定名称。它不适用于所有列值,我的意思是名称应仅是活动单元格值。
根据所附的屏幕快照,我需要创建项目名称列的值,我们需要创建新的工作表(第二个屏幕快照需要输出)。
答案 0 :(得分:0)
这样的事情应该是目标:
Dim lrs as long, lrd as long, i as long
lrs = Sheets("Summary").cells(Sheets("Summary").Rows.Count,1).end(xlup).row
With Sheets("EMDN_SW_Project") 'longer to type than "Summary"
for i = 2 to lrs 'assumes header in row 1
'if statement if needed
lrd = .cells(.rows.count,1).end(xlup).row
.cells(lrd+1,1).value = Sheets("Summary").cells(i,1).value
'end if
next i
End With
我建议最后以所需的格式进行格式化,而不是随便评估格式(速度要慢得多)。
答案 1 :(得分:0)
也许这样的东西可以帮助您。在表的特定列中创建用于表载条目的工作表。
Private Sub CreateSheets()
Dim ws As Worksheet
Dim RowCount As Integer
Dim TempName As String
Dim ImportTable As ListObject
Set ws = ThisWorkbook.Worksheets("WorkSheetName")
Set ImportTable = ws.ListObjects("TableName")
RowCount = ImportTable.ListRows.Count
'create a sheet for each value in a specific column of a table
For i = 1 To RowCount
TempName = ImportTable.DataBodyRange.Cells(i, ImportTable.ListColumns("ChoosedColumn").Index)
Sheets.Add.Name = TempName
Next
End Sub