[[20050918112802]] 『VBAで元のフォントの色をそのまま使いたい』(あおい) ページの最後に飛ぶ

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

 

『VBAで元のフォントの色をそのまま使いたい』(あおい)

初心者です。こんなこと出来ないでしょうか。
何かでもらったファイルを使っています。元の表にはたくさんの日付があり、数種類の色付けがしてあります。そしてVBAで書かれたプログラムがあります。
そのVBAで計算した結果の一覧表が表示されますが、日付の色は黒に変わっています。
何かのキーワードの変更などの簡単な作業で、元の色をそのまま使った表示に変えることは出来ないでしょうか。VBAにはcopyとかcolorとかの言葉は見当たりません。
この文章がきちんと分かってもらえるか心配です。何かヒントのようなことでもいいですのでよろしくお願いします。


 そのVBAのコードを掲載することはできないのでしょうか?
 それが分からないと、修正方法を考えるのは難しいと思います。

  (INA)


 ありがとうございます。下のようなプログラムが続いています。
 これがコードでしょうか。

 Public Sub Sell()

 If UserForm1.TextBox1.Text = "" Or _
     UserForm1.TextBox2.Text = "" Or _
     UserForm1.ComboBox5.Text = "" Then
     MsgBox "non"
     Exit Sub
 End If

    Columns("O:U").Select
    Selection.ClearContents
    Range("O1").Select

 Leverage = UserForm1.TextBox1.Text
 Fee = UserForm1.TextBox2.Text
 ProfitPoint = UserForm1.ComboBox5.Text
 LossPoint = UserForm1.ComboBox6.Text
 Year_From = UserForm1.ComboBox3.Value
 Year_To = UserForm1.ComboBox4.Value

 Cells(4, 24) = Year_From
 Cells(4, 25) = Year_To
 Cells(4, 26) = "s"
 Cells(15, 24) = Leverage 
 Cells(15, 25) = Fee
 Cells(15, 26) = LossPoint
 Cells(17, 26) = ProfitPoint

 lngx = 2
 lngy = 5
 x = 1
 y = 15

 intFlg = 0
 Do Until Cells(lngx, lngy) = ""

        If Cells(lngx, lngy + 5) >= Cells(lngx, lngy + 6) And intFlg = 0 And _
          Cells(lngx - 1, lngy + 5) <= Cells(lngx - 1, lngy + 6) And _
          Cells(lngx, lngy + 5) <> "" And Cells(lngx, lngy + 5) <> "" And _
          Cells(lngx, lngy + 4) >= Year_From And _
          Cells(lngx, lngy + 4) <= Year_To Then

            strSetDay = Cells(lngx + 1, lngy - 4)
            lngSetPrice = Cells(lngx + 1, lngy - 3)
            ProfitLine = lngSetPrice + ProfitPoint
            LossLine = lngSetPrice - LossPoint

            intFlg = 1            

            Cells(x, y) = strSetDay
            Cells(x, y + 2) = lngSetPrice
            GoTo step
            Debug.Print "set=" & lngSetPrice
        End If

  よろしくお願いします。
   (あおい)


 上記のコードでフォント色を設定するものは無いようですので、
 使われてるワークシートに条件付書式などは設定されていませんでしょうか。

 (川野鮎太郎)


 ありがとうございます。条件付き書式という項目を見つけました。
書式が設定されていません となっています。
少しさわってみましたが、どうも特別な設定はないようなのですが。
(あおい)


 日付を入力するセルで確認されましたでしょうか。

 (川野鮎太郎)


 川野様ありがとうございます。
私なりにいろいろやってみたのですが、少し近づいたようでもあり、ちょっと違っているような感じもしております。
元の日付のひとつのセルを条件に、それ以上なら計算結果の日付を赤色などに表示できる事が分かりました。
しかし元の日付の色は任意に付けてあり一定の法則はありません。
ですから抽出したときの計算結果の日付は、元の日付をそのまま丸ごとコピーしたような形を取らないといけないような気がしています。
元の日付に適当な文字を入力すると計算結果にもそのまま反映されます。
私には、書式は値のみ、などの設定がどこかでされているような気がしてならないのです。(ごめんなさい。全くの素人の考えです)
こんな状況なのですがもう少しアドバイスをいただけないでしょうか。
 (あおい)


 えっと・・・、質問を再確認しますね。
 元の日付のセルのフォント色(例えば、セルA1が青)がマクロを実行してしまうと、
 フォント色が黒に変わってしまう。
 これを青のままにしておきたいってことで合っていますか?

 上のような現象が起きるのであれば、もしかしたらシートモジュールに
 チェンジイベントコードが書かれていませんでしょうか。

 (川野鮎太郎)


 すみません、少し違います。元の日付の色は変わらないので問題ありません。
マクロで計算し抽出した一覧表の日付の色が、元の色と違ってノーマルな黒色なのです。
それを元々の色で表示させたいのです。
説明が下手ですみません。
(あおい)


 何となく判ってきました。
 一覧表の日付の色がいろいろあって、マクロで計算した日付と合致するセルの色で
 日付の入力を行いたいってことかな・・・?
 であれば、合致するセルのアドレスを取得して、そのアドレスのFont.Colorを取得
 その色番号で設定ってことでしょうか。

 もし可能であれば、該当のファイルを見せていただけませんでしょうか。
 以下のramrunさんのアップローダを使えば、ファイルの参照が可能になります。
http://ryusendo.no-ip.com/cgi-bin/upload/upload.html
 
もちろん、不都合のあるデータ等は削除したファイルで結構です。
アップする際は、プロパティ内などで個人名、企業名等削除してください

 (川野鮎太郎)


 アップしてみました。よろしくお願いします。
(あおい)

 下から失礼します。。。
 UPされた表を見てみました〜

 どのような処理をしているか解ってませんが・・・(汗
 >            strSetDay = Cells(lngx + 1, lngy - 4)
 >            lngSetPrice = Cells(lngx + 1, lngy - 3)
 >            ProfitLine = lngSetPrice + ProfitPoint
 >            LossLine = lngSetPrice - LossPoint
 >            
 >            intFlg = 1             
 >
 >            Cells(x, y) = strSetDay
 >            Cells(x, y + 2) = lngSetPrice
 >            GoTo step
 >            Debug.Print "set=" & lngSetPrice

 strSetDay ←コレが臭いますね〜
 よって、
            'strSetDay = Cells(lngx + 1, lngy - 4) コレを消し
            'Cells(x, y) = strSetDay コレを下記に編集
            Cells(lngx + 1, lngy - 4).Copy Destination:=Cells(x, y)
 更に、その下にある
 strEndDay も、怪しいぃ〜
 同じようにしたら大丈夫かな〜

 コレでどうでしょう?
 外してる???
 (キリキ)(〃⌒o⌒)b


  見事に色別表示なり感激です。ここのみなさんはすごいです。
 キリキさんそして川野さん。みなさんありがとうございました。

 よく見たら、
 変数 strSetDay と strEndDay が一杯使ってる〜
 勝手に変えちゃうと、どこかで不具合があるかもですm(_ _)m

 (キリキ)(;⌒o⌒)b


 キリキさん、ありがとうございました。
 沖縄への移動中だったので、今さっきファイルを確認したところでした。

 To あおいさん、解決してよかったですね。^^

 って、ここまで書いたら衝突・・・(^_^A;
 具体的な動きがわからなかったので、内容は良くわかっていません。_/ ̄|○ il||li

 (川野鮎太郎) 

コメント返信:

[ 一覧(最新更新順) ]


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