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