我在工作簿中有大量工作表。
我想在每个工作表的顶部插入一个新行(A:A),并将每个工作表的名称插入到所有工作表的单元格(B1:G1)中。
我有第一部分,但有点卡在第二部分(即添加工作表名称)。我将不胜感激。
更正的代码:
Sub NameSheets()
Dim sheetnm() As String
ReDim sheetnm(1 To Sheets.Count)
Dim i As Long
Dim ws As Worksheet
For i = 1 To Sheets.Count
Sheets(i).Rows("1:1").Insert Shift:=xlDown
sheetnm(i) = Sheets(i).Name
Sheets(i).Range("B1:G1") = Sheets(i).Name
Next i
End Sub
答案 0 :(得分:0)
范围(“B1:G1”)= ActiveSheet.name。这会将当前工作表名称添加到所有6列
答案 1 :(得分:0)
我修改了你的代码。试试这个:
Dim sheet As Worksheet
For Each sheet In Worksheets
sheet.Rows("1:1").Insert Shift:=xlDown
sheet.Range("B1:G1").Value = sheet.Name
Next sheet
答案 2 :(得分:0)
这将循环两次。第一个添加第一行并创建工作表名称的数组。第二行从B1开始在第一行输入该列表:
Sub NameSheets()
Dim sheetnm() As String
ReDim sheetnm(1 To Sheets.Count)
Dim i As Long
For i = 1 To Sheets.Count
Sheets(i).Rows("1:1").Insert Shift:=xlDown
sheetnm(i) = Sheets(i).Name
Next i
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Sheets
ws.Range("B1").Resize(, UBound(sheetnm)).Value = sheetnm
Next ws
End Sub