移动负号

时间:2018-06-14 19:45:02

标签: excel-vba vba excel

我是excel vba的新手,并发现了用于更新文件的现有宏的问题。

在使用无效数字进行格式化的值上移动负号的最佳方法是什么?

目前,输出产生一个15个字符的值(000000000-23378.00),在有效数字的前面有一个负号。对于这个修复,我需要将它移到所有值的前面......

示例:-00000000023378.00

逻辑如下......

Loop
        Account = Account & String(8 - Len(Account), " ")
        cashamount = CashArray(i, 2)    'Cash
        cashamount = String(15 - Len(cashamount), "0") & cashamount
        cashamount = cashamount & ".00"
        Cusip = "CASHCASH6"             '9 spaces
        Filler = String(10, " ")        'cell padding
        TradeDate = TradeDate           'TradeDate
        filler2 = String(47, " ")       'cell padding
        filler3 = String((970 - 200), " ") 'cell padding

        myDataLine = Account & Cusip & cashamount & Filler & InterestRate & _
            SecType & TradeDate & filler2 & "Cash" & filler3
        Print #hFileOut, myDataLine
    Next i
    Close hFileIn
    Close hFileOut

谢谢!

1 个答案:

答案 0 :(得分:0)

你想要做两件事...在你确定是否需要做之后(你很可能不需要这个if语句,因为它看起来像" - "是常数,但会将其显示为JIC)。

If len(cell(i).value) > len(replace(cell(i).value,"-","")) then

第一件事:

cell(i).value = replace(cell(i).value,"-","")

第二件事:

cell(i).value = "-" & cell(i).value

应该做的伎俩。