[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『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.