【问题标题】:Referring to a variable-named worksheet引用变量命名的工作表
【发布时间】:2022-01-06 13:36:25
【问题描述】:

我在代码的其他区域使用可变工作表名称时遇到问题。我想隐藏一个基于名称的工作表,它使用特定单元格中的日期。这是适用的代码。

Sub StartMedCount()

Dim actionname As String
actionname = "Action List " & Sheets("MedicationCounts").Range("C2").Value

ThisWorkbook.Worksheets(actionname).Select
    ActiveWindow.SelectedSheets.Visible = False

end sub

我有一个已经命名为“Action List 11-24-2021”的工作表,单元格 C2 包含 11-24-2021。我收到运行时错误 9 - 下标超出范围。你能帮我解决这个问题吗?

【问题讨论】:

  • 尝试将.value更改为.text
  • 试试:& Format$(Sheets("MedicationCounts").Range("C2").Value, "mm-dd-yyyy")

标签: excel vba variables


【解决方案1】:

我在下面尝试了这个,它对我有用。

Sub StartMedCount()
    Dim ws As Worksheet
    Dim ActioNname As String
    
    Set ws = ThisWorkbook.Worksheets("MedicationCounts")
    ActioNname = "Action List " & ws.Range("C2").Value
    
    ThisWorkbook.Worksheets(ActioNname).Visible = False

End Sub

【讨论】:

    【解决方案2】:

    我们找到了以下修复:

    C2 中的日期格式为mm-dd-yyyy,但真实值为mm/dd/yyyy。我们将格式更改为文本并使用连字符输入。在代码的其他地方添加该日期时,我使用 Format 将其更改为连字符,然后再将其输入单元格。

    【讨论】:

      猜你喜欢
      • 2018-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-06
      相关资源
      最近更新 更多