-1

これを達成するためにIFステートメントとケースステートメントを実行しようとしましたが、リモートで成功したものは何もありません。

基本的に、通貨形式を意図した各シート内に異なる名前付き範囲を持つ 5 つのタブのワークブックがあります。

ただし、最初のタブのセルの値 (CAD、USD、NOK など) に基づいて、これらのセル範囲の通貨形式を変更する必要があります。

つまり、タブ 1 のセル値が CAD に等しい場合、タブ 2 ~ 5 の名前付き範囲はすべて「$」、USD の場合は「$」、NOK の場合は「kr」などになります。

どんな助けでも大歓迎です!

4

2 に答える 2

0

このコードを Tab1 のシートのコードに入れることができます。A1 セルの値が変化すると、必要なシートのテーブルがトリガーされます。

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Select Case Range("A1").Value
        Case "CAD"
        Worksheets("Sheet2").Range("Table1").NumberFormat = "#,##0.00 [$CAD]"
        Worksheets("Sheet3").Range("Table2").NumberFormat = "#,##0.00 [$CAD]"
        Worksheets("Sheet4").Range("Table3").NumberFormat = "#,##0.00 [$CAD]"
    Case "USD"
        Worksheets("Sheet2").Range("Table1").NumberFormat = "#,##0.00 [$USD]"
        Worksheets("Sheet3").Range("Table2").NumberFormat = "#,##0.00 [$USD]"
        Worksheets("Sheet4").Range("Table3").NumberFormat = "#,##0.00 [$USD]"
    Case "NOK"
        Worksheets("Sheet2").Range("Table1").NumberFormat = "#,##0.00 [$NOK]"
        Worksheets("Sheet3").Range("Table2").NumberFormat = "#,##0.00 [$NOK]"
        Worksheets("Sheet4").Range("Table3").NumberFormat = "#,##0.00 [$NOK]"
    End Select

End Sub
于 2014-11-14T17:39:24.287 に答える
0

マクロを記録して、通貨形式の構文を取得し、IF ステートメントに追加します。

Selection.NumberFormat = "[$kr-414] #,##0.00"

複数の のCase Select代わりにa の使用を検討することもできますIf

于 2014-11-14T17:31:59.543 に答える