- ベストアンサー
セルを参照して表示形式を変更したい。(Excel)
今、すごく困っています。 どなたか、知っている方がいたら教えてください。 B1のセルに「ドル・ユーロ・円」などの通貨を入力します。B2のセルにそのドルとか円とかの表示形式を入力したいのです。ひとつ、ひとつセルの書式設定が変更するのは大変なので、、、。 どうか、良きアドバイスをお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ご存知でしたらすいません Excelには、Visual Basic Editerと言う機能があります ツール→マクロ→Visual Basic Editer で別ウィンドウが開きます。 もし白い画面のままなら、 表示→プロジェクトエクスプロラ- 右側に別画面が出てその中から、Sheets1(Sheets1)をクリックします (作業したいシートが、Sheets1ならの場合です。Sheets2なら2です) そこに下記を張り付けて下さい Private Sub Worksheet_Change(ByVal Target As Range) 'アクティブセルがB2なら以下の処理をしなさい If Range("B2").Activate Then 'B1セルが"円"なら、B2セルの表示形式が円表示 If Range("B1").Value = "円" Then Selection.NumberFormatLocal = "\#,##0;\-#,##0" End If 'B1セルが"ドル"なら、B2セルの表示形式がドル表示 If Range("B1").Value = "ドル" Then Selection.NumberFormatLocal = "$#,##0.00;-$#,##0.00" End If 'B1セルが"ユーロ"なら、B2セルの表示形式がユーロ表示 If Range("B1").Value = "ユーロ" Then Selection.NumberFormatLocal = "[$?-2] #,##0.00;[$?-2] -#,##0.00" End If End If End Sub Visual Basicの画面を閉じ Sheets1のB1セルに "円"、"ドル"、"ユーロ"と任意に入れてもらい B2セルに数値を入れて下さい。(全角表示で入れて下さい) おそらく表示別に表示するはずです だめでしたらまた、連絡下さい。 VBAは結構使えますよ。 中規模程度のデーターベースでも、作成できます。
その他の回答 (2)
- a-kuma
- ベストアンサー率50% (1122/2211)
http://oshiete1.goo.ne.jp/kotaeru.php3?q=454752 の続きね。 通貨の種類が三種類までなら、条件付書式でできます。 メニューの「書式」→「条件付書式」です。
- imogasi
- ベストアンサー率27% (4737/17069)
(1)まずH1:H3のセルに(どこでも空いている範囲で可)に、各々 円 ドル ユーロ をいれる。 (2)Sheet1(最後は本番のシート)にリストボックスを1つ貼りつける。 フォームの方を選ばないこと。コントロールツールボックスをチェッ クして、出てくるツールボックスの中のリストボックスを選ぶこと。 (3)リストボックスをデザインモードにして、ボックス内で右クリック (4)「プロパティ」を選んでクリック。プロパティウインドウの LinkedcellにB1をいれる FillListRangeに(1)のH1:H3といれる。Xで閉じる。 (5)これでリストボックスで選んだ値がB1にセットされる。 (6)リストボックスをデザインモードにして、ボックス内でダブルクリック。VBE画面が開いて、Private Sub ListBox1_Click() End Sub が出る。 その間に Private Sub ListBox1_Click() Select Case Range("b1") Case "ドル" Range("b2").NumberFormatLocal = "$#,##0.00" Case "円" Range("b2").NumberFormatLocal = "\#,##0.00" Case "ユーロ" Range("b2").NumberFormatLocal = "∈#,##0.00" End Select End Sub を貼りつける。(最初と最後行は、既に出ていて複写不要) これで「円」をリストボックス上クリックするとB2の書式(通貨)は円向きになる。ユーロ通貨記号は正しいものをよろしく。