0

我尝试在我的 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
4

2 回答 2

1

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

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

于 2015-11-12T22:52:23.510 回答
0

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

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

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

于 2013-04-14T23:09:26.287 回答