&引用;“百分比”;excelvba中的样式格式

&引用;“百分比”;excelvba中的样式格式,excel,vba,Excel,Vba,已经选择了n张图纸,我正在尝试将“百分比”样式应用于所有单元格选择范围。 但是,只有第一张工作表被格式化。我正在使用的其他格式化样式在所有工作表上都能很好地工作。只有“百分比”似乎只能在第一张工作表中工作!这有什么具体原因吗?将我的代码片段粘贴到下面:提前感谢您的帮助 Range(Cells(143, 2), Cells(146, MarketRangeColumn + 10)).Select Selection.Style = "Percent" Range(Cells(100, 2), Ce

已经选择了n张图纸,我正在尝试将“百分比”样式应用于所有单元格选择范围。 但是,只有第一张工作表被格式化。我正在使用的其他格式化样式在所有工作表上都能很好地工作。只有“百分比”似乎只能在第一张工作表中工作!这有什么具体原因吗?将我的代码片段粘贴到下面:提前感谢您的帮助

Range(Cells(143, 2), Cells(146, MarketRangeColumn + 10)).Select
Selection.Style = "Percent"
Range(Cells(100, 2), Cells(142, MarketRangeColumn + 10)).Select
Selection.Style = "Comma"
Selection.numberformat = "_(* #,##0.0_);_(* (#,##0.0);_(* ""-""??_);_(@_)"
Selection.numberformat = "_(* #,##0_);_(* (#,##0);_(* ""-""??_);_(@_)"

如果选择了多个工作表,则应用样式只会影响活动工作表上的单元格。应用数字格式将影响所有工作表,因此您应该使用该格式,而不是样式,或者循环浏览每个工作表。

所有选定工作表方法

Sub test()
    Dim vName()
    Dim Ws As Worksheet, n As Integer
    For Each Ws In Worksheets
        n = n + 1
        ReDim Preserve vName(1 To n)
        vName(n) = Ws.Name
    Next Ws
    Sheets(vName).Select
    Range(Cells(143, 2), Cells(146, MarketRangeColumn + 10)).Select
    Selection.Style = "Percent"
    Range(Cells(100, 2), Cells(142, MarketRangeColumn + 10)).Select
    Selection.Style = "Comma"
    Selection.NumberFormat = "_(* #,##0.0_);_(* (#,##0.0);_(* ""-""??_);_(@_)"
    Selection.NumberFormat = "_(* #,##0_);_(* (#,##0);_(* ""-""??_);_(@_)"
End Sub

您正在创建多个帐户吗??