如果找到“%”符号,则创建用于格式化单元格的宏

时间:2018-08-06 01:48:11

标签: excel vba excel-vba

我正在尝试设置一个宏,该宏检查工作簿中的每个单元格,并检查它是数字还是%,然后更改单元格的格式。

我的标准是,如果它是一个数字,则需要将其格式化为:

_- *#,## 0 -; [红色] *(#,## 0)-; -*“-” ?? -; -@@ -

如果它是%,则需要将其格式化为:

_- *#,## 0%-; [红色] *(#,## 0%)-; -*“-” ?? -; -@ -

每次我尝试使用它时,都会出现%格式上的格式不匹配代码13。

目前,我的代码是:

Sub BoldCells()

Dim lastrow As Long
Dim thisRow As Long
Dim thiscolumn As Long

'the above declares the last row, this row and this column


lastrow = Cells(Rows.Count, 1).End(xlUp).Row
thiscolumn = 1

'the above is used to determine what the last row is and this is used for the 
 loop from first cell to last cell

For thisRow = 1 To lastrow

If Cells(thisRow, 1).Font.Bold Then

    If InStr((Cells(thisRow, 1)), "%") > 0 Then

        Cells(thisRow, 1).NumberFormat = "_-* #,##0 _-;[Red]* (#,##0)_-;_-* 
""-""??_-;_-@_-"

           Else

Cells(thisRow, 1).NumberFormat = "_-* #,##0% _-;[Red]* (#,##0%)_-;_-* " - "?? 
_-;_-@_-"

           End If
   End If

   Next thisRow

   End Sub

1 个答案:

答案 0 :(得分:0)

不能100%知道发生了什么,但这对我有用:

reliese/laravel

enter image description here

enter image description here