我需要在每个选项卡的单元格 A1 中插入选项卡名称,并更改选项卡名称

I need to insert tab name in cell A1 of every tab with changing tab names

我需要打开一个固定名称的作品sheet,并在sheet顶部插入每个选项卡的名称(会根据当前日期变化)。

我修改了以前答案中的一些代码,并在不包含打开工作簿的代码时使代码正常工作。现在它快速浏览选项卡,但没有将名称插入 Cells(1, 1),我不知道为什么。它还在最后出现错误:Run-time error 91,问题较少,但最好修复。

非常感谢任何提示或建议。以下是我当前的代码:

Sub PSOPENTAB()
    ChDir "G:\directory"
    Workbooks.Open Filename:="G:\directory\filename.xls"
    Windows("filename.xls").Activate
    ActiveWorkbook.Worksheets(1).Activate
    Call nametop
End Sub

Sub nametop()
    Dim i As Long
    With ThisWorkbook
        'exit if Activesheet is the last tab
        If .ActiveSheet.Index + 1 > .Worksheets.Count Then
            Exit Sub
        End If
        For i = .ActiveSheet.Index To .Worksheets.Count - 1
            .ActiveSheet.Cells(1, 1) = .Worksheets(i).Name
             ActiveSheet.Next.Select
        Next i
    End With
End Sub

您需要正确引用您的对象。
您的问题是:

  1. 您在 nametop 例程中使用了 Thisworkbook。所以它将始终在包含代码的工作簿上工作。
  2. 您可以将其更改为 ActiveWorkbook,但这可能会导致您将来遇到其他问题。 See this cool stuff to know more about why to avoid Activeworkbook/Activesheet and the like

应用那里讨论的内容,尝试下面的代码:

Sub PSOPENTAB()
    Dim wb As Workbook
    Set wb = Workbooks.Open(Filename:="G:\directory\filename.xls")
    nametop wb
End Sub

Sub nametop(wb As Workbook)
    Dim ws As Worksheet
    For Each ws In wb.Worksheets
        ws.Cells(1, 1) = ws.Name
    Next ws
End Sub

以上代码在每个 sheet 的单元格 A1 中添加 sheet 的名称。
这是您要尝试的吗?