none
VBA操作单元格样式提示“不能设置类Range 的HorizontalAlignment属性” RRS feed

  • 问题

  • 通过VBA操作单元格样式的时候,提示”不能设置类Range 的HorizontalAlignment属性“,求指点。

    '???????????????????????????????
    '@param obj ??????????
    '@param arrStyle ??????????
    Function setStyle(ByRef obj, ByVal arrStyle)    
        obj.HorizontalAlignment = arrStyle(0)   '错误弹窗:“不能设置类Range 的HorizontalAlignment属性”
    End Function

    Sub test_setStyle()
        Dim arrStyle(0) As String
        arrStyle(0) = xlCenter    
        With Sheets("test")
            setStyle .Cells(1, 1), arrStyle
        End With
    End Sub


    2018年10月19日 7:42

答案

  • 因为xlCenter表示常量,所以arrStyle(0)应设为integer就可以正常运行了。更改后如下:

    Function setStyle(ByRef obj, ByVal arrStyle)
        obj.HorizontalAlignment = arrStyle(0)
    End Function
    Sub test_setStyle()
        Dim arrStyle(0) As Integer
        arrStyle(0) = xlCenter
        With Sheets("test")
            setStyle .Cells(1, 1), arrStyle
        End With
    End Sub

    • 已标记为答案 CJ笨小孩 2018年10月23日 6:51
    2018年10月21日 8:43

全部回复

  • 因为xlCenter表示常量,所以arrStyle(0)应设为integer就可以正常运行了。更改后如下:

    Function setStyle(ByRef obj, ByVal arrStyle)
        obj.HorizontalAlignment = arrStyle(0)
    End Function
    Sub test_setStyle()
        Dim arrStyle(0) As Integer
        arrStyle(0) = xlCenter
        With Sheets("test")
            setStyle .Cells(1, 1), arrStyle
        End With
    End Sub

    • 已标记为答案 CJ笨小孩 2018年10月23日 6:51
    2018年10月21日 8:43
  • 受教了,多谢!
    2018年10月23日 6:51