使用VBA将工作表名称复制到同一工作表上的列

时间:2017-07-07 17:24:47

标签: excel vba excel-vba

我目前正在使用此代码:

Funtion wrksht() as Variant
wrksht = Application.Caller.Parent.Name
End function

我不断被抛出运行时错误' 424'找不到对象。 有人可以解释为什么会发生这种情况并出现什么问题?我基本上有一张包含多张表的工作簿,每张都有一个日期。我想用每个工作表名称填充每个工作表上的第一列。这就是我想要的。

3 个答案:

答案 0 :(得分:0)

Function wrksht() as String
  wrksht = ActiveSheet.Name
End function

更新

Function DoIt()
  Dim sh As Worksheet

  For Each sh In ActiveWorkbook.Sheets
    sh.Range("A1") = sh.Name
  Next
End Function

答案 1 :(得分:0)

试试这个

Sub my_macro

接下来错误恢复 Dim ws As Worksheet 对于每个ws在ActiveWorkbook.Sheets ws.Range(“A1”)= ws.Name 下一个 结束子

答案 2 :(得分:0)

上述方法可行,但我有一个更简单的解决方案:

=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)

将此值(它是一个公式,而不是VBA代码)粘贴到您希望使用工作表名称填充的单元格中,它将会神奇地显示。