
No.6ベストアンサー
- 回答日時:
こんにちは。
ご質問の趣旨は、やっと最後で分かりました。
>エクセルを立ち上げてすぐこの作業を行う場合、以前使用した色を使いたいと思っています。
この部分があるなしでは、マクロの内容のレベルがかなり開きがあります。それ自体は、大した問題ではないと思います。
ちょっと、こちらの制作意欲がなえてしまいましたが、
ひとつは、やっぱり固定なら、ボタンを使うことですし、
以下のようなマクロなら、 「6」の部分をグローバル変数にしておいて、
With Selection.Interior
.ColorIndex = 6
End With
#4のマクロを終了時(BeforeClose)に、色番号(ColorIndex)の変換をして、その番号を、
.CustomDocumentProperties に保存しておけば、次に開いたときに取れます。
回答ありがとうございます。
CustomDocumentPropertiesとは面白い機能ですね。
自分でプロパティを設定して保存しておけるのですね。
No.5
- 回答日時:
こんばんは。
今、読み直してみました。
>一旦エクセルを終わらせると以前の色は覚えていないのですね。
そんなことは、大した問題ではありません。
少なくとも3種類は他のファイルを使わないで保存する方法があります。
私には、途中からご質問の内容が変わったような気がします。
具体的にはどうしたいか、ということですが、本当は、良くわかっていません。
>現在マーキングする色は固定で、変える時はVBAを書き換えていますが、これを簡単に指定する方法を調べています
今回のような質問を、私は、今まで出会ったことがありません。
もしかしたら、塗りつぶしの色のグリッドの中身の設定を変えるということではないでしょうか?それは、できる人がいるような気もしますが、その基本的な考え方が、少なくともマクロという範疇ではないので、私は、それは追わないようにしています。それを追っても、ワザだけになってしまうからです。既存のものは、やっても難しいだけのような気がするのです。
それ自体は、固定の色にするなら、ユーザー設定のツールボタンを使えばよいと思うのです。それを、ユーザー設定のツールバーの中に入れてあげればよいわけです。
この回答への補足
やりたいことは最初から変わっていません。
ある列を選択して、任意の文字列が含まれているセルをマーキング(色をつける)すると言うものです。
現在色を変える時はVBAの色指定をダイレクトに書き換えています。
下のVBAのColorIndexの部分です。
With Selection.Interior
.ColorIndex = 6
End With
これを、スマートかつ簡単に色の変更を行いたいと考えていました。
それでメニューバーにある塗りつぶしのバケツを使うことを思いついたわけです。
エクセルを立ち上げてすぐこの作業を行う場合、以前使用した色を使いたいと思っています。
No.4
- 回答日時:
こんにちは。
>この色の値を知るにはどのようにしたらよいでしょうか?
色の名前が取れますから、後は、ワークシート関数や配列を使って、色番号に変換すればよいと思います。
Sub getColorName()
Dim myColor
With Application.CommandBars("Formatting").FindControl(, 1691)
If myColor Like "配色*" Then myColor = "色つぶしなし"
myColor = .Controls("配色(&C)").TooltipText
MsgBox myColor
End With
End Sub
ただし、ユーザー設定の色に関しては、自分で作ったリストを修正してください。
>カラーパレットなどを表示して簡単に色を選択する方法はないでしょうか。
それ自体を抜き出してどうこうということはありえないと思います。次のステップがあるはずですから、そのダイアログを出せばよいと思います。
例:
Sub testPalette()
Application.Dialogs(xlDialogPatterns).Show
End Sub
後は、ご自身で工夫してください。
この回答への補足
回答ありがとうございます。
実行して上手く行ったと思ったのですが、一旦エクセルを終わらせると以前の色は覚えていないのですね。
と言うより、エクセルを立ち上げた状態では値を得ることはできないようですね。
何も実行しないで値を売るというのは無い物ねだりのようですね。
一度色を選択してから実行するようにいたします。
No.3
- 回答日時:
カラーパレットはブック毎に保存されているのですが、初期値はおそらく、27番を示していることになるかと思われます。
ただ一旦他の色を選択するとその最後のものが先頭?というか表に表示されることになるようですが、その値は起動しなおすと元にもどることから、設定やレジストリに残る値ではありません。メモリ上に残しているだけでしょう。ですので、もし本気で抜き取るのであれば、メモリ上の値を直接ぶっこぬくしかありません。相当に手間がかかることが予想されます。次善の策としては、カラーパレットを自作するということでしょうか。そうすれば常に最後に使われた色を保持させておくことが簡単にできます。
http://members3.jcom.home.ne.jp/daruma_kyo/class …
カラーパレットなどを表示して簡単に色を選択する方法
簡単と思われる順に
・単純に標準のカラーパレットをドラッグしてそのまま表示させる
・APIを利用する
http://homepage1.nifty.com/MADIA/vb/API/CHOOSECO …
・VBのコモンダイアログを利用する
No.2
- 回答日時:
こんばんは。
色とインデックス一覧は以下です。
Sub ColorIndex()
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWorkbook = objExcel.Workbooks.Add()
Set objWorksheet = objWorkbook.Worksheets(1)
For i = 1 To 14
objExcel.Cells(i, 1).Value = i
objExcel.Cells(i, 2).Interior.ColorIndex = i
Next
For i = 15 To 28
objExcel.Cells(i - 14, 3).Value = i
objExcel.Cells(i - 14, 4).Interior.ColorIndex = i
Next
For i = 29 To 42
objExcel.Cells(i - 28, 5).Value = i
objExcel.Cells(i - 28, 6).Interior.ColorIndex = i
Next
For i = 43 To 56
objExcel.Cells(i - 42, 7).Value = i
objExcel.Cells(i - 42, 8).Interior.ColorIndex = i
Next
End Sub
実行することで、色のインデックスと色をEXCELシートに展開します。
この回答への補足
回答ありがとうございます。
色の値は分かっています。
あるシートを検索して該当個所にマーキングするマクロを作りました。
現在マーキングする色は固定で、変える時はVBAを書き換えていますが、これを簡単に指定する方法を調べています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) エクセルの値を元に図形の色を変えたい 2 2022/05/11 01:37
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:00
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:02
- Excel(エクセル) エクセル関数の質問 5 2022/04/20 09:46
- 美術・アート 今年中1になったものです。絵のアドバイスを貰いたいです。 私はデジタルでイラストを描いています。 最 1 2022/04/03 14:09
- CGI VBAで条件から範囲を指定して色を塗る方法を知りたいです 1 2022/06/30 16:05
- Excel(エクセル) 半角ハイフンを除いた重複に色を付ける数式について 5 2022/09/08 20:43
- Excel(エクセル) エクセルで教えて下さい。 2 2022/05/18 13:00
- その他(Microsoft Office) エクセル 表の移動 2 2023/04/05 20:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクスプローラのアクティブウ...
-
日本人の肌の色は?
-
塗りつぶしの色の取得方法 エ...
-
チャコールってどんな色でしょ...
-
ワード2013で、図の色の変更方...
-
差込印刷で番号に色をつけたいです
-
ワード2016で図の形式の色の変...
-
illustratorで作った画像をプリ...
-
Excel ツールボックス オプシ...
-
Excelでデフォルトのフォ...
-
孤独に合う色
-
角度によって色が変わる織物を...
-
鳶色は日本人の瞳の色ですか?
-
けん玉の玉の色についてです。
-
下ネタでもうしわけないです ま...
-
iPhoneのメモ帳って文字に色つ...
-
エクセルのグラフデータの色が...
-
職業訓練校を休む際に私用は駄...
-
小学生の頃から嫌われるのは
-
「受付」などと紙を貼るときの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクスプローラのアクティブウ...
-
Excelでデフォルトのフォ...
-
差込印刷で番号に色をつけたいです
-
ページ閲覧の既読色が変わらない
-
日本人の肌の色は?
-
うごメモ3Dについてです。た...
-
下ネタでもうしわけないです ま...
-
セ-ジ色ってどんな色?
-
塗りつぶし(インディゴ)につ...
-
チャコールってどんな色でしょ...
-
Access コマンドボタンの色の件
-
ワード2016で図の形式の色の変...
-
Outlook Expressのフォルダーの...
-
ワード2013で、図の色の変更方...
-
塗りつぶしの色の初期設定
-
MOS Word2013 についての質問で...
-
お散歩途中の斜面に白い小さな...
-
エクセル「塗りつぶしの色」起...
-
1月6日は「色の日」。あなたの...
-
「毒」って、何色?
おすすめ情報