- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ExcelのVBAにつて(16進数から背景色への変換))
ExcelのVBAで16進数から背景色への変換がうまく行かない原因を教えてください
このQ&Aのポイント
- ExcelのVBAを使用して、各セルの16進数の数値を背景色に変換するプログラムを作成しました。しかし、変換がうまく行かず、白く虫食いのような表示になってしまいます。また、数値を変更すると、別の部分の変換が行われない場合もあります。Vista Home PremiumでExcel2007を使用しています。
- ExcelのVBAを使って、各セルの16進数の数値を背景色に変換する方法がわかりません。プログラムを作成しましたが、色の変換がうまく行かず、白く虫食いのような表示になってしまいます。また、数値を変更すると、別の部分の変換が行われない場合もあります。Vista Home PremiumでExcel2007を使用しています。
- ExcelのVBAを使用して、各セルの16進数の数値を背景色に変換する方法がわかりません。プログラムを作成しましたが、色がうまく変換されず、白く虫食いのような表示になってしまいます。また、数値を変更すると、別の部分の変換が行われない場合もあります。Vista Home PremiumでExcel2007を使用しています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
以下の点について、補足欄に記入してください。 >各セルの16進数の数値 >セル内の数値は「#FFFFFF」このような形式です。 >r = Mid(v, 2, 2) g = Mid(v, 4, 2) b = Mid(v, 6, 2) c = Val("&H" + b + g + r) これらから推測すると、あらかじめ、何らかの方法でセルに値が入っているはずですね。 どんな方法でどんな値を各セルに入れたのですか? >変換動作自体は行われるのですが >色の変換が行われず、白く虫食いのようになる部分があります 白色または白色に近い色に変換されたのではないでしょうか? 値を勝手に入れて試してみたのですが、一部不明な点がありますが一応動いているようです。 各セルの背景色だけでなく、文字の色も背景色と同じにしているということは、各セルの色を変えたいだけではないのですか? 各セルに文字列を入れる、または入っている理由は何ですか? >N = 1 >For j = 0 To N - 1 For i = 0 To N - 1 >For y = 1 To 200 Step N N が 2 以上に変えることがあるのなら(市松模様にするとか)、良いのですが、N が 1 の場合、Step N は、通常書きません(省略します)し、 For j For i も不要です。 最終的にどんな風になることを望んでいるのですか?
お礼
回答ありがとうございます。 N、i、jは以前作ったものをそのまま用いたもので、消し忘れでした。 N、i、jと.Font.Color を消したら正常に動作しました。 どの部分が原因か分からなかったのですが、実行後「#FFFFFF」が「FFFFFF#」に書き換えられていました。 無事解決することができました。 丁寧なご回答ありがとうございました。