プロが教える店舗&オフィスのセキュリティ対策術

Excelで他のセルを参照して表示形式を変えるにはどうしたらいいのでしょうか?

具体的には以下のようなことです。
為替レートを表示するようにしたいのです
A列には通貨ペアが入ります
A1=USD/JPY A2=GBP/JPY A3=GBP/USD ・・・・と言った感じです

このとき
B1=115.90 B2=218.32 B3=1.8919
という具合にB1とB2は少数以下2桁、B3は少数以下4桁の表示になるようにしたいのですが、どのようにすればいいのでしょうか?

IF関数などを使おうとしたのですが、うまくいきませんでした。

よろしくお願いします。

A 回答 (3件)

この質問はA列の値によって、B列の書式を変更したいということでしょうか。

条件付き書式では数値の表示桁数を変更できないのでマクロが必要になると思います。

A列の値が頻繁に変わるのでなければ、手動で書式を設定すれば済んでしまうように思いますが、マクロで実現するならこんな感じでしょうか。マクロは通貨レートのシートモジュールにペーストして下さい。

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Column = 1 Then
Select Case .Value
Case "USD/JPY"
.Offset(0, 1).NumberFormatLocal = "0.00"
Case "GBP/JPY"
.Offset(0, 1).NumberFormatLocal = "0.00"
Case "GBP/USD"
.Offset(0, 1).NumberFormatLocal = "0.0000"
Case Else
.Offset(0, 1).NumberFormatLocal = "G/標準"
End Select
End If
End With
End Sub
    • good
    • 0
この回答へのお礼

zap35さんお礼がすっかり遅くなってすいませんでした。

とても助かりました。ありがとうございます。

また、機会がありましたらよろしくお願いします。

お礼日時:2006/09/03 08:47

はじめまして



B1、B2のセルは、セルの書式設定で「表示形式」「ユーザ定義」で「0.00_」、B3には「0.0000_ 」
でいけます。

もしくはツールバーの小数点表示桁上げ桁下げのボタンからもできます。
    • good
    • 0
この回答へのお礼

hirorin00さん、お礼がすっかり遅くなってしまい申しわけありません。

アドバイスありがとうございました。

お礼日時:2006/09/03 08:49

B1には直接、数字を打ち込むの?まあ、関数でもなんでもいいけど、別にセルを参照してると思えないのだけど。

参照する条件は何?

今の文章だとB1、B2、B3の表示形式をただ変えればいいだけのように読めるけど…
整数部分が1桁かどうかを考えさせようってこと?
    • good
    • 0
この回答へのお礼

finneganswakeさん、お礼がすっかり遅くなってしまいすいませんでした。

アドバイスどうもありがとうございました。

お礼日時:2006/09/03 08:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!