下面的代码创建一个新列(A),给它 Headers “Class”,然后用工作表名称填充A列,直到工作簿中所有工作表的B的最后一行 . 它正在工作,除了它将所有工作表填充到从所有后续工作表处理的第一张纸的B的最后一行 . 我做错了什么?我喜欢填充由每张纸的最后一行B确定 .
Option Explicit
Sub AddColumnFill()
Dim sht As Worksheet
For Each sht In ActiveWorkbook.Worksheets
sht.Range("A1").EntireColumn.Insert xlShiftToRight
sht.Cells(1, 1) = "Class"
sht.Range("A2:A" & Cells(Rows.Count, "B").End(xlUp).Row).Value = sht.Name
Next sht
End Sub
2 回答
使用
sht.Range("A2:A" & sht.Cells(sht.Rows.Count, "B").End(xlUp).Row).Value = sht.Name
代替
sht.Range("A2:A" & Cells(Rows.Count, "B").End(xlUp).Row).Value = sht.Name
这适合我 .