|
▼kc さん:
こんばんは。
>初めての投稿です。
>VBAも初心者なのでよろしくお願いします。
>
>もともとのデータはデータベース(DB)にあるのですが
>そのDBを参照し
>あるセルに文字をいれてるのですが
>そのDBのステイタスによってセルの文字を変換させたいのです。
>
>例えばあるセルにKCという文字があります。
>DBにKCとそのKCのステイタスを表すデータがあります。
>もしDBのKCのステイタスが"BAD"であった場合
>そのKCとかかれてるセルを"BAD"に変換したいのです。
>
>現在は下記の用に設定してありセルの色とフォントを変えるだけになってます。
>If (strStatus = "BAD") Then
>Selection.Font.Bold = True
>Selection.Font.ColorIndex = 1
>Selection.Interior.ColorIndex = 4
>
>ただしこの文字の変換は一回きりではなくて
>何回も変換可能にしたいのですが
>(DBのKCのステイタスはBAD,GOOD,DONEなどありますので)
>使ってるセルはマクロを走らせる度にKCと表示されてないと
>DBのステイタスを参照できないので。
>
>[DB] BAD --> GOOD --> DONE
>[xls] KC-->BAD KC--> GOOD KC--> DONE
>
>よろしくお願いします
正直、どうしたいのかがわかりませんが、
「セルの値とDBの値を比較した結果、セルの表示を変えたい」
という意味でしょうか?
例えば、セルA1の値は、"kc"だけど、表示は、"bad"というふうに・・・。
上記のような処理なら書式設定で可能ですが、
>If (strStatus = "BAD") Then
>Selection.Font.Bold = True
>Selection.Font.ColorIndex = 1
>Selection.Interior.ColorIndex = 4
Selection.NumberFormatLocal = ";;;""bad"""
但し、上記の書式設定は、セルの中身が"kc"のような文字列の場合です。
数値の場合は、書式記号が違ってきます。
こんな意味でしょうか?
|
|