AbbyRovi 2023-11-24 18:06 采纳率: 100%
浏览 16
已结题

Excel中,能通过判断一个单元格的数值,改变一列的单元格格式么

Excel中,能通过判断一个单元格的数值,改变另一列的单元格格式么?
比如说,当AJ1=1.1的时候,I列的货币格式为人民币;当AJ1不等于1.1,那么I列的格式变为美金

img

  • 写回答

8条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2023-11-24 18:14
    关注

    引自强大而免费的微信小程序:皆我百晓生

    是的,Excel中可以通过判断一个单元格的数值来改变另一列的单元格格式。以下是具体的步骤:

    1. 创建一个新的宏:

      • 在Excel中,点击“开发工具”选项卡,然后选择“宏”。
      • 在弹出的对话框中,点击“新建”按钮来创建一个新的宏。
    2. 编写宏的代码:

      • 在弹出的“Microsoft Visual Basic for Applications”编辑器中,编写以下代码:
    Sub ChangeCurrencyFormat()
        Dim rng As Range
        Dim cell As Range
    
        ' 设置要判断的单元格范围
        Set rng = Range("AJ1:AJ5")
    
        ' 循环遍历单元格
        For Each cell In rng
            ' 判断单元格的值
            If cell.Value = 1.1 Then
                ' 如果值为1.1,则将I列的单元格格式设为"人民币"货币格式
                Range("I" & cell.Row).NumberFormat = "[$¥-zh-CN]#,##0.00"
            Else
                ' 如果值不等于1.1,则将I列的单元格格式设为"美金"货币格式
                Range("I" & cell.Row).NumberFormat = "[$$-en-US]#,##0.00"
            End If
        Next cell
    End Sub
    
    1. 关闭编辑器并运行宏:
      • 在编辑器中,点击“文件”菜单,然后选择“关闭和返回到Microsoft Excel”。
      • 在Excel中点击“开发工具”选项卡,然后选择“宏”。
      • 在弹出的对话框中,选择刚才创建的宏“ChangeCurrencyFormat”。
      • 点击“运行”按钮来运行宏。

    当代码运行时,它会根据AJ列中的值来判断并改变I列相应行的单元格格式。如果AJ列的值为1.1,则I列的货币格式为人民币;如果AJ列的值不等于1.1,则I列的货币格式为美金。

    请注意,上述代码中的范围和格式示例是根据提供的表格数据做的简单示范,请根据实际情况进行修改。

    希望以上解答对您有所帮助。如果有任何疑问,请随时追问。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(7条)

报告相同问题?

问题事件

  • 系统已结题 12月3日
  • 已采纳回答 11月25日
  • 创建了问题 11月24日