我想使单元格的数字值变得更小,字体大小也变得更小,即单元格的值越大,字体大小就越大。
我只能Data Bars
在 中找到Conditional Formattting
。
如果您知道如何执行此操作,请分享。
答案1
您将需要一个 VBA 中的宏,如下所示:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim wk As Workbook
Set wk = ThisWorkbook
Dim ws As Worksheet
Set ws = ActiveSheet
CRow = Target.Row
CColumn = Target.Column
If CColumn = X Then
CellValue = Cells(CRow, CColumn)
Select Case CellValue
Case Is < 0
Cells(CRow, CColumn).Font.Size = 8
Case 1 To 100
Cells(CRow, CColumn).Font.Size = 10
Case 101 To 500
Cells(CRow, CColumn).Font.Size = 12
Case 501 To 1000
Cells(CRow, CColumn).Font.Size = 14
Case 1001 To 5000
Cells(CRow, CColumn).Font.Size = 18
Case 5001 To 10000
Cells(CRow, CColumn).Font.Size = 22
Case Else
Cells(CRow, CColumn).Font.Size = 24
End Select
End If
End Sub
您必须复制代码,转到 Excel 中的“查看”->“宏”,创建一个新的宏(任何名称均可),然后在左栏中双击要使用它的工作表(图片中的红旗),并在右侧粘贴代码。
X
此宏会修改工作表列中单元格的字体大小,当检测到单元格已经改变。 X
是个数字列(A=1、B=2、C=3、....)
我定义了一些值的范围,例如,如果值在 1 到 100 之间,则字体大小将为 10。您可以根据需要添加、删除或更改它。
请记住,当你要保存它时,你必须使用.xlsm而不是典型的 .xlsx。此外,当你打开它时,Excel总是禁用宏并显示安全警告,询问您是否要启用宏
一个这样的示例 Excel 文件可以可从此处下载。