VBA Excel中的千位和十进制分隔符

时间:2020-07-06 15:37:28

标签: excel vba format currency euro

我有一个库存来管理实验室中的库存,该库存分为两个部分:一个与订单有关,一个与二手零件有关,但是有两个问题:

  1. 在我设计用来跟踪订单和使用过的零件的用户窗体中,对最后一个通过乘以单个零件的数量和价格乘以TOTAL来管理TOTAL的单元格上的操作未向我显示小数点分隔符。

    UserForm with decimal separator issue

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

    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")
    

    下面的代码部分被引用为Arec3,即用户窗体中的数量单元格(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工作表中的格式。一旦我在UserForm中填写了我的信息,所有这些信息都存储在excel工作表中,但是与单一费用和总计相关的€列始终给我不正确的格式。即使我从“文件”->“选项”->“高级”->“”中选择“千”和“。”。对于小数,第二张图片中仍然有结果:

    Formatting thousand/decimal excel sheet

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

0 个答案:

没有答案