No.5ベストアンサー
- 回答日時:
エラーが出るブックで、以下のプログラムを試してみて下さい。
Dim r, g, b As Integer
Dim c1, c2 As Long
For b = 0 To 255
For g = 0 To 255
For r = 0 To 255
c1 = RGB(r, g, b)
c2 = b * 65536 + g * 256 + r
If c1 <> c2 Then
MsgBox "RGB(" & CInt(r) & "," & CInt(g) & "," & CInt(b) & ")の値[" & CInt(c1) & "]は正しくありません。" & Chr(13) & Chr(10) & "正しい値は[" & CInt(c2) & "]です"
End If
Next
Next
Next
MsgBox "テストが終了しました"
もし「RGB()と言う、ユーザー関数があって、変な値を返している」と言う場合、このテストで判明します。
テストで異常が判明した場合は「RGB(r,g,b)」と書く代わりに「b * 65536 + g * 256 + r」と書いてみて下さい。
テストで異常が出ずに「テストが終了しました」しか出なかった場合「シート内の書式設定が多過ぎて、1シートに許された書式の限界を超えた」か、または「ブックが破損している」か、どちらかです。
>また,シートで操作しようとしても
>書式が多すぎます」といって受け付けなくなります。
ありゃりゃ。それは確実に「1シートに許された書式の限界を超えた」のでしょうね。
書式の限界に達したのなら「青だけエラーになる」も「Excel2007ではOKで2010でNG」も、どちらもツジツマが合います。
シート内の書式設定の個数が「限界になっている状態」で、どこかのセルに背景色を設定した場合、同じシート内のどこかで同じ色を使っているならば「色が付いたセルが増えるだけ」で「書式の個数」は増えません。
しかし、今まで使ってない色を背景色にしようとすると「新しい書式が1つ増える」ので、もし、新しい書式を記録する余裕が無ければ「書式が多すぎます」のエラーが出ます。
で、2007と2010では、1つの書式に使用される容量が増えたので、書式用の領域に格納できる「書式の個数」に違いがあります。
例えば、1つの書式に100バイト使っていたのを、機能拡張して120バイト使うようになると、1個の書式で20バイト余計に使ってしまうので、全体のサイズが同じであれば「格納できる書式の個数が減ってしまう」と言う事になります。
もし、2007で「書式の個数が限界近くだったけどギリギリセーフ」と言う状態だと、2010に持って行っただけで「書式用の領域がオーバーする」ので、動かなくなってしまいます。
そういう訳で「2010でのみ、背景色を青くしようとしたら、エラーで失敗する」と言う状況が起きます。
削除したり消去したセルに付いていた書式設定が、使われないままシート内の書式設定領域に残っている可能性があるので、新規のブックを作成して、そのブックに「使っている範囲のセル」と「マクロのモジュール」だけを貼り付けて、新規ブックで保存してみましょう。
新規ブックに必要な物だけを全部移して、未使用のゴミを捨て去れば、2010でも上手く動くかも知れません。
なお、それで試してもダメならば「書式設定の個数を減らすしかない」ので、背景色を青くするのは諦めるしかありません。
納得です。
ありがとうございました。
For i=0 to 255
For j=0 to 255
cells(i,j)の色指定
Next:Next
で書式を多量設定したので
後半で色の指定ができなくなった
わけですね。
明快で,深い理解に基づく
すばらしい回答をありがとうございました。
No.3
- 回答日時:
新規Bookで試した限りではできました。
Excel2010で新規Bookでもダメかな?
添付画像は投稿用に列幅・行高ともに最小にしてます。
No.2
- 回答日時:
動作報告のみ。
こちらでは問題なくC3セルが青塗表示できました。
No,1さんが示されたように、保護かけて試すと、
「実行時エラー1004:アプリケーションン定義またはオブジェクト定義のエラーです」
が出ますね。
なお当方、
EXCEL2010 (バージョン:14.0.6.122.5000(32ビット)
VBAのバージョン:1627
の環境です。
ありがとうございます。
For i=1 to 255
For j=1 to 255
cells(i,j).Interior.Color=RGB(i,0,j)
Next
Next
でError
また,シートで操作しようとしても
書式が多すぎます」といって受け付けなくなります。
OS Windows7
Office2010
です。
Vista Office2007では動きました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel VBAでのセルやシェイプの色指定について。 たとえば、”red”という文字列を用いて … 4 2022/11/15 09:44
- Excel(エクセル) Excel VBA 空白行があるセル範囲に色を付ける 3 2022/06/13 15:58
- Visual Basic(VBA) Accessフォームで全レコードを指定のExcelのセルへ転送し印刷する方法について 2 2022/09/08 18:23
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- その他(パソコン・スマホ・電化製品) CMD等でPC操作(excel開く等)を自動化させたい 1 2023/03/15 09:53
- Visual Basic(VBA) ダブルクリックでセルの色を変える 1 2022/12/24 15:52
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Access(アクセス) accessデータを指定したExcel、そして指定したセルへエクスポートするaccess VBAコー 2 2023/05/17 17:02
- Visual Basic(VBA) Excelマクロ Application.Run 5 2023/06/17 15:16
- Excel(エクセル) Excel起動時にエラーダイアログが表示される 3 2022/07/28 19:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【VBA】計算結果に小数点第2位...
-
時間表示で0:48:17と入力すると...
-
MsgBoxの中にある数字や日付の...
-
POIを使った書式設定
-
AccessのVBAで、パラメータを使...
-
クリスタルレポートの改ページ...
-
VBA 条件付き書式で空欄は適用...
-
チェックボックスのある行を非...
-
スリープ状態とロック状態の違...
-
スイッチングハブのIPアドレス
-
iosでpcのエロゲーを動かすアプ...
-
1000Base-TでのRJ45ループバッ...
-
DHCP Clientサービスが勝手に停...
-
ハブを経由すると通信できない
-
chromeがインストールできない
-
VMware PlayerでPlayonlineは表...
-
blackjumbodogでメールサーバー...
-
webページをリンクまで含めて保...
-
Microsoft Edgeが急に応答しな...
-
ログアウト状態でのアプリケー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【VBA】計算結果に小数点第2位...
-
MsgBoxの中にある数字や日付の...
-
VBA 条件付き書式で空欄は適用...
-
チェックボックスのある行を非...
-
POIを使った書式設定
-
クリスタルレポートの改ページ...
-
VBでエクセル出力の文字を太字...
-
マイナス記号を▲で表す方法
-
C#にて、他言語にローカライズ...
-
spread6.0(セル連結)
-
VBA コンボボックスの表示(日...
-
AccessのVBAで、パラメータを使...
-
VBAの繰り返し処理について教え...
-
FORMAT関数で値が変わる
-
エクセルのメモについて教えて...
-
携帯サイトのPHPで<div style>...
-
時間表示で0:48:17と入力すると...
-
EXCEL2010でRGB指定できない
-
SQL文 Where句の複数検索
-
Excel VBA マクロについて
おすすめ情報