[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『スポイトのような機能』(みかん)
いつも勉強させていただいております。
今回は、「色をスポイトしてスポイトした色を他のセルに付ける」というようなマクロ が作れないかどうか聞きに来ました。 今現在Personal.xlsで下記のようなマクロを使い、疑似ショートカットキーで色を付けています。 ==== Sub Auto_Open() Application.OnKey "%{q}", "APaint" Application.OnKey "%{z}", "BPaint" Application.OnKey "%{x}", "CPaint" Application.OnKey "%{c}", "DePaint"
End Sub ' Sub DePaint()'脱色 Selection.Interior.ColorIndex = xlNone End Sub
Sub APaint()'暖色 Selection.Interior.ColorIndex = 44 End Sub
Sub BPaint()'寒色 Selection.Interior.ColorIndex = 34 End Sub
Sub CPaint()'中間色 Selection.Interior.ColorIndex = 4 End Sub
==== しかし、色の使い分けが仕事が増えるに比例して増えてしまい、3色では足りなくなってしまいました。 そこで、「選択したセルの色を取り込んで、ショートカットキーAlt+Qで取り込んだ色で塗りつぶしたい」と考えています。 よろしくお願いいたします。
マクロは分かりませんが、置換のオプションで既存のセルの色を抽出して置き換えることができます。 この操作を記録してみれば、ヒントになりませんか? (wisemac21)
Personal.xls の標準モジュールに下記を '-------------------------------------- '--- 選択した色を保存するための変数を宣言 Public selectColor As Long
'--- 関数をキーに登録する関数 Sub setFunction() Application.OnKey "%{g}", "getColor" Application.OnKey "%{s}", "setColor" End Sub
Sub getColor() '色の取得 selectColor = Selection.Interior.ColorIndex End Sub
Sub setColor() '色の設定 Selection.Interior.ColorIndex = selectColor End Sub '--------------------------------------
Personal.xls のThisworkbookモジュールに下記を '-------------------------------------- '--- EXCEL 起動時に関数をキーに割り当て Private Sub Workbook_Open() setFunction End Sub '--------------------------------------
でどうでしょうか。 (Mook)
wisemac21様 私の求めていた解は得ることができませんでしたが、置換で色まで指定できることを知りませんでした とても勉強になりました。 ありがとうございます。
Mook様 私の思っていた通りの操作ができました! ありがとうございます。 できましたら >Public selectColor As Long で何をしているのかと、
> Personal.xls のThisworkbookモジュールに下記を >'-------------------------------------- >Private Sub Workbook_Open() > setFunction >End Sub ここの部分で、Thisworkbookに入れる意味と、setFunctionの意味を教えていただけたらと思います。
よろしくお願いいたします。 (みかん)
そんな大したことはしていませんが、回答のコードに注釈を入れました。 こちらで試した2007ではキーアサインする関数は標準モジュールにないとうまく 動かないので実体と登録処理を標準モジュールに置き、EXCELを起動したときに 登録処理をするよう、Thisworkbook モジュールに置きました。
Auto_Open() と Workbook_Open() はどちらも起動時に実行するもので、どちらを 使っても同じかと思いますが、私は好みで(^^;;) Workbook イベントを使用して います。 (Mook)
Mook様 ご丁寧にありがとうございます。 Autoopenの使い方もよくわかってなくて、コピーしてきたものをそのまま標準モジュールに 貼り付けているような状態でしたので、これを機にもう少しイベントについて勉強しなおしたいと思います。 ありがとうございました。 (みかん)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.