首页 > 解决方案 > VBA excel中的千位和小数分隔符

问题描述

我有一个库存来管理实验室中的库存,其中包含两个部分:一个与订单相关,一个与使用过的零件相关,但我有几个问题:

  1. 在我设计用于跟踪订单和使用过的部件的用户表单中,最后一个单元格上的操作通过乘以数量来管理 TOTAL,并且单个部件的价格没有显示小数点分隔符。

    带有小数分隔符的用户窗体问题

    这里是一个文本框的代码,用于管理数量并在最后一个文本框中显示总数:

    Private Sub cmdReceiving_Click()    
        Dim X As Integer
        Dim nextrow As Range
        Dim DateCus As Range
    
        On Error GoTo cmdReceiving_Click_Error
    
        Me.Arec6.Value = Format(Me.Arec6.Value, "€##,###.00")
        Me.Brec6.Value = Format(Me.Brec6.Value, "€##,###.00")
        Me.Crec6.Value = Format(Me.Crec6.Value, "€##,###.00")
        Me.Drec6.Value = Format(Me.Drec6.Value, "€##,###.00")
        Me.Erec6.Value = Format(Me.Erec6.Value, "€##,###.00")
        Me.Frec6.Value = Format(Me.Frec6.Value, "€##,###.00")
        Me.Grec6.Value = Format(Me.Grec6.Value, "€##,###.00")
        Me.Hrec6.Value = Format(Me.Hrec6.Value, "€##,###.00")
        Me.Irec6.Value = Format(Me.Irec6.Value, "€##,###.00")
        Me.Jrec6.Value = Format(Me.Jrec6.Value, "€##,###.00")
        Me.Krec6.Value = Format(Me.Krec6.Value, "€##,###.00")
    

    以下部分代码被引用为Arec3UserForm中的数量单元格(Qty)。这将在库存表中读取并从中获取数据进行数学运算

    Private Sub Arec3_Change()
        On Error Resume Next
        Me.Arec2.RowSource = ""
        Me.Arec4 = Application.WorksheetFunction.VLookup(Me.Arec2, Sheet5.Range("Data"), 2, 0)
        Me.Arec5 = Application.WorksheetFunction.VLookup(Me.Arec2, Sheet5.Range("Data"), 3, 0)
        If Me.Arec3.Value > "" Then Me.Arec6 = Me.Arec3.Value * Me.Arec5.Value
    
        On Error GoTo 0
    
    End Sub
    
  2. 另一个问题是关于股票的 Excel 表中的格式。一旦我用我的信息填写了用户表单,所有这些信息都存储在一个 Excel 表中,但是与单笔费用和总计相关的 € 列总是给我不正确的格式。即使我从文件->选项->高级->“”中选择千位和“。” 对于小数,我仍然在第二张图片中有结果:

    格式化千/十进制excel表

有人可以帮我吗?我真的不明白怎么了。

标签: excelvbaformatcurrencyeuro

解决方案


推荐阅读