无法将单元格格式保留在vba中

时间:2013-04-14 22:36:08

标签: excel vba excel-vba

我尝试在我的vba脚本中保留相同的单元格格式,但我不能。

我的变量prixB始终是一个'数字'我的变量prixA是标准类型。我需要像他们在基础文件中那样存钱。

我的剧本!

感谢您的帮助

Sub Intersection()

Dim nombre As Integer
Dim tableauDate(1 To 115) As Date
Dim tableauValeur(1 To 115) As String
Dim valeur As Variant
Dim incrementeurForeach As Integer
Dim dateA As Date
Dim dateB As Date
Dim prixA As Currency
Dim prixB As Currency

nombre = 115
incrementeurForeach = 1

For incrementeur = 2 To nombre

dateA = Range("A" & incrementeur).Value
dateB = Range("c" & incrementeur).Value
prixA = Range("B" & incrementeur).Value
prixB = Range("D" & incrementeur).Value

Select Case dateA
    Case Is = dateB
        tableauDate(incrementeur) = dateA

    Case Is > dateB
        tableauDate(incrementeur) = dateA

    Case Else:
        tableauDate(incrementeur) = dateB

End Select

If prixA >= prixB Then
    tableauValeur(incrementeur) = prixA
Else
    tableauValeur(incrementeur) = prixB
End If

Next incrementeur


Sheets.Add After:=ActiveSheet

For Each valeur In tableauDate

Range("A1").Offset(incrementeurForeach, 0).Value = tableauDate(incrementeurForeach)
Range("B1").Offset(incrementeurForeach, 0).Value = tableauValeur(incrementeurForeach)

incrementeurForeach = incrementeurForeach + 1

Next valeur

End Sub

2 个答案:

答案 0 :(得分:0)

要应用数字格式(这就是Excel中的全部内容),您可以:

Range("A1").NumberFormat = "$#"Range("A1").NumberFormat = "$#.##"

您可以根据需要修改特定货币,小数精度等数字格式。

答案 1 :(得分:0)

我觉得这很老了,但我相信我有你的解决方案。使用.Text vs .Value返回单元格实际文本,而不是其内容。我遇到了这个,因为我希望我的vba代码包含“$”符号,以及为抵押贷款公司发送总计时的正确格式。希望这会帮助那些人哈哈:)

dateA = Range("A" & incrementeur).text dateB = Range("c" & incrementeur).text prixA = Range("B" & incrementeur).text prixB = Range("D" & incrementeur).text