Excel 根据输入的内容在一个单元格中显示货币和百分比

Excel 根据输入的内容在一个单元格中显示货币和百分比,excel,formatting,Excel,Formatting,我可以设置单元格格式以显示货币和百分比,但是否可以根据输入的内容在一个单元格中同时显示货币和百分比 例如,如果我输入$5它将显示$5.00,如果我输入5%它将显示5% 如果可能的话?如果您想通过自定义数字格式自行实现这一点,答案是否定的 如果您同意在使用工作表_Change()事件过程输入值时使用VBA设置自定义数字格式,则可以完成此操作 像这样: Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count =

我可以设置单元格格式以显示货币和百分比,但是否可以根据输入的内容在一个单元格中同时显示货币和百分比

例如,如果我输入
$5
它将显示
$5.00
,如果我输入
5%
它将显示
5%


如果可能的话?

如果您想通过自定义数字格式自行实现这一点,答案是否定的

如果您同意在使用工作表_Change()事件过程输入值时使用VBA设置自定义数字格式,则可以完成此操作

像这样:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count = 1 Then
        If Not Intersect([a1:a10], Target) Is Nothing Then
            Select Case True
                Case Left$(Target.NumberFormat, 1) = "$": Target.NumberFormat = "$#,##0.00"
                Case Target.NumberFormat = "0%":          Target.NumberFormat = "0 %"
            End Select
        End If
    End If
End Sub

注意程序顶部附近的
[a1:a10]
。这将指定图纸上响应此动态格式的范围。根据您的喜好编辑该范围。

我不熟悉VBA。这样做会有负面影响吗?我应该在哪里输入此代码?唯一的缺点是,打开工作簿时,特定工作簿的用户需要允许使用宏。下面是放置VBA代码的位置。在工作表中,按键盘上的Alt-F11。VBEditor应打开。在左侧的项目资源管理器上,双击工作簿中希望发生此行为的工作表的名称。右边应该会出现一个大的白色窗口。将代码粘贴到那里。保存文件。就这样。