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 に答える