错误代码'下标超出范围'在运行' Text to column'宏

时间:2017-10-31 05:40:19

标签: excel vba excel-vba text-to-column

我正在尝试将一系列日期从文本转换为'日期'格式,位于' Master'的B列中。片材。

我创建了一个宏,但我想从任何工作表中运行它,而不是在主工作表上。但是,错误代码'下标超出范围'不断出现,用Sheets突出显示(" sh2")。我到目前为止的代码是:

Sub DateFormatUpdate()

    DateFormatUpdate Macro
    Updates the format of the dates in the master data sheet from 'General' to 'Date'

    Dim sh2 As Worksheet
    Set sh2 = ActiveWorkbook.Sheets("Master")

    With Sheets("sh2")
    Range("B2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.TextToColumns Destination:=Range("B2"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
        :=Array(1, 5), TrailingMinusNumbers:=True
    Range("C2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.TextToColumns Destination:=Range("C2"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
        :=Array(1, 5), TrailingMinusNumbers:=True
    Range("R9").Select
    End With

End Sub

我对VBA很新,所以我很抱歉这实际上是一个简单的问题!谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

而不是

With Sheets("sh2")

尝试使用

With sh2

因为你已经将sh2声明为工作表变量。