[[20081027141252]] 『条件つき書式?で出来ますか?』(にゃんた) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『条件つき書式?で出来ますか?』(にゃんた)

家計簿のような集計表を作る際に指定した範囲(例えばA列)に

「1」を入力すると「食品」「2」を入力すると「衣類」などといったように表示
できるようにしたいのですが、条件つき書式?になるのですか?

作成の方法を教えてください。

すいません、補足します。

1=食品
2=衣類
3=光熱費

といったようにリストをつくっておいて、それに基づき例えばA列に1を入力すると
自動的に食品、2を入力すると衣類と表示されるようにしたいのですが・・・。


 =CHOOSE(A1,"食品","衣類")

 として下にフィルダウンでどうですか?

 (Dil)


 '-------------------
Private Sub Worksheet_Change(ByVal Target As Range)
    With CreateObject("VBScript.RegEXP")
        .Pattern = "^[123]$"
        If Target.Count > 1 Then Exit Sub
          If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
        If .Test(Target.Value) Then
            Application.EnableEvents = False
            Target = WorksheetFunction.Choose(Target.Value, "食品", "衣類", "光熱費")
            Application.EnableEvents = True
        End If
    End With
End Sub
 (TAKE)

(TAKE)さんへ

すいません、これってマクロを使うんですか?
マクロについてもよく分らないので、実際にどこにどう入力すればよいか
教えていただきたいのですが・・・。

よろしくお願いします。


 どのようなフォーマットなのか提示がないので、妄想してみました。
 おおざっぱな例で申し訳ないですが・・・。
 VLOOKUP関数を使っております。
 sheet1を入力用、sheet2を参照用シートとして使います。

 −−−−−−−−−−−−−−−−−−−−−−−−−−−−

 sheet1 (入力用シート)

      A     B     
 1          ※sheet1のB1セルに
 2         「=IF(A1="","",VLOOKUP(A1,sheet2!A1:B3,2,TRUE))」
 3         と入力します。(かぎかっこはとる)

 −−−−−−−−−−−−−−−−−−−−−−−−−−−−
 sheet2 (参照データ用シート)

      A     B     
 1    1    食品
 2  2  衣類
 3  3  光熱費

 −−−−−−−−−−−−−−−−−−−−−−−−−−−−

 sheet1のA1セルに「1」と入力すれば、B1セルに「食品」と入り、
 同シートのA1セルに「2」と入力すれば、B1セルには「衣類」と入ります。

 B1セルを下にフィルドラッグすれば、数式がコピーされるので、
 必要に応じて行を増やしてください。

 蛇足ですが、条件付き書式というのは、「条件によってセルの書式を変更する」というものなので、
 にゃんたさんがやりたいことに応用はできないように思います。(しばいぬ)


 衝突しましたがそのまま載せます。

    A    B    C    D    E
 1                 1   食品
 2                 2   衣類
 3                 3   光熱費
 4
 5

 仮にD1〜E3にこのようなリストを作っておくならば、B1セルに
 =IF(A1>3,"",VLOOKUP(A1,$D$1:$E$3,2,0))
 もしくは
 =IF(A1>3,"",CHOOSE(A1,$E$1,$E$2,$E$3))
 とか。後者はリストの数が多いと使い辛いかも…
 その後A1セルに1〜3の数字を入力すれば、B列にリストに応じた項目が表示されますね。

 TAKEさんが提示したマクロは、A列のどこかに1と入力すると、その入力した1が
 「食品」に変換されるという物です。

 新規のブックを開きCtrl+F11でVBEを開くと、左側のVBAProjectの下にSheet1(Sheet1)というような
 記述がされたモジュールがあると思います。

 こちらをダブルクリックし、右側の真っ白な空白に上記コードをコピペして、もう一度Ctrl+F11。
 VBEが非表示になったらシート上のA列のどこかで1〜3の数字を入力してみて下さい。

 (Dil)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.