搜索
查看: 306|回复: 0

两列相乘从第四行开始,录入和结果显示会计专用格式

[复制链接]

978

主题

1094

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
15950
发表于 2023-11-19 09:52:35 | 显示全部楼层 |阅读模式

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim lastRow As Long
    Dim accountingFormat As String
      
    ' 设置会计专用格式字符串(你可以根据需要修改这个格式)
    accountingFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
      
    ' 检查更改是否发生在E列或F列以及是否在前三行之后
    If Not Intersect(Target, Me.Range("E4:F" & Me.Rows.Count)) Is Nothing Then
        ' 查找E列和F列的最后一行
        lastRow = Me.Cells(Me.Rows.Count, "E").End(xlUp).row
         
        ' 如果更改发生在最后一行之前,并且不在前三行,则重新计算G列对应行的值
        If Target.row <= lastRow And Target.row > 3 Then
            Me.Cells(Target.row, "G").Value = Me.Cells(Target.row, "E").Value * Me.Cells(Target.row, "F").Value
              
            ' 将G列的格式设置为会计专用格式
            Me.Cells(Target.row, "G").NumberFormat = accountingFormat
              
            ' 也可以将E列和F列的格式设置为会计专用格式(如果需要)
            Me.Cells(Target.row, "E").NumberFormat = accountingFormat
            Me.Cells(Target.row, "F").NumberFormat = accountingFormat
        End If
    End If
End Sub
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

表格智创网

网站简介:表格智创网,是一家以表格设计和技能分享的专业社区,由会计帮帮网投资建设,尽专业,助提高专业技能。

表格智创网欢迎您!

联系我们

  • 工作时间:早上9:00-16:00
  • 客服电话:18668755857
  • 本站网址:www.excelwps.com
  • 淘宝店址:kjbbw.taobao.com

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表