A 回答 (7件)
- 最新から表示
- 回答順に表示
No.7
- 回答日時:
遅くなってすみません。
Ribbon からのカスタマイズについては、CellFillColorPickerを、捕まえることができませんでした。
gallary をcontrol に変えることでできるようなことが書かれてあったのですが、成功しません。おそらく、何か製造上の問題があるようです。
失敗しました。いずれ、誰かがこれをみて、かんがえてくれるものと思います。
<group idMso="GroupCells" >
<!--additional functions-->
<control
idMso="CellFillColorPicker"
label="myGallery"
onAction="CellFillPicker_onAction"/>
</group >
そこで、旧式の方法(Excel 2000 )のテクニックを使ってみることにしました。以下は、Excel 2013 で行いましたが、いろいろな環境で同じように動くかは言えません。
'標準モジュール
Option Explicit
Public clsCBClass As New Class1 'クラスが一つ必要です。
Public cbrBar As Office.CommandBar
Sub Auto_Open 'ファイルオープン時に実行
Call InitEvents
End Sub
Sub InitEvents()
Set cbrBar = CommandBars("Formatting")
Set clsCBClass.colCBars = CommandBars
End Sub
'Class1 モジュール
Public WithEvents colCBars As Office.CommandBars
Private Sub colCBars_OnUpdate()
With ActiveCell.Interior
If .ColorIndex = xlColorIndexAutomatic Then Exit Sub
If .ColorIndex = xlColorIndexNone Then Exit Sub
DoEvents
If .ColorIndex = 6 Then
ActiveCell.Offset(, 1).Value = "黄色"
Else
ActiveCell.Offset(, 1).ClearContents
End If
End With
End Sub
これで、黄色のセル塗りつぶしをすると、Activecell の右隣に「黄色」が入るようにできました。コードは貼り付けた後に、再起動するか、IniEvents を実行すれば、入力が可能になります。
非常に単純なコードですから、加工すれば、いろいろできるようになります。
ただし、イベントの除外条件は、かならず、OnUpdate の先頭側に持ってくることを忘れてはいけません。おかしな動作をすることがあります。実用度はどの程度かは分かりません。#6さんのおっしゃる方法など、一括して行なうというのが、マクロのマクロたる所以であることは申すまでもありませんが。
No.6
- 回答日時:
No.1 の追補
考え方を変えて、とりあえず先に色だけ変更しておいて「保存するとき」や「次に開いたとき」に、色を判断して特定の文字をまとめて自動入力する。ならば簡単に実現できる思います。
No.5
- 回答日時:
こんにちは。
色を変えたらイベントを発生するマクロというのは、Excel 2003時代から知られているものです。
#3さんの紹介されたものは、クラスで作ったインスタンスを、ボタンにつければよかったのですが、今日、不具合があるかもしれないという話を聞いています。理由は良く知りません。それに、今でも、その方法自体は頼らざるを得ないのです。私も時々書いているのですが、ここの所、ボツ解答のようです。また、私は、プロジェクトAの井川さんのタイマーイベントの方式は取りません。アイデアとしては認めますが無茶です。
それに代わるためのものを、ここ数ヶ月、ずっと私は、マクロの勉強をしていたわけです。
少しだけ分かってきたような気がします。それで、Excel のバージョンは、2010を基準として作ります。ただし、最初 VBAではなくて、XMLです。エディタは、NotePad++ で元型を作ってから、Office Ribbon Ediotr に入れて、Call Back を取れるようにして、VBAで作り始めます。今までのイメージとはぜんぜん違います。
ツールの、Office Ribbon Ediotr(ver 4.4.2) は今のところ不可欠です。もし、ご興味のある方は、是非とも手に入れてください。うまく手に入りましたら、ラッキーです。
ただ、仕組みは簡単なのです。
ボタンのIdMso の当該名称に、OnAction をつけて反応すれば成功です。
しばらく時間をください。できるかどうかやってみます。
No.4
- 回答日時:
色を変えたら、というタイミングでイベントを発生させることはできません。
色を変更したあとにボタンを押し、その押したタイミングでイベントを発生させるとかはダメでしょうか?
仰るような色を変更したときということだと、セルを選択した時等、常にマクロで色を監視することになり、ちょっとどうかと思います。
No.2
- 回答日時:
もっと、具体的に、書いてください。
シート名は何か。
どの行のどの列にどの色がつくのか。色は、背景につくのか、文字自体につくのか。
どのセルに何という文字をセットしたいのか。
現状では、上記の情報が不明なので、「マクロでなら可能と思われる」という回答しかできません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Visual Basic(VBA) excelにて、特定の列に数字入力してあれば、入力してある行コピーして 別ファイルに張り付ける 2 2022/08/11 05:33
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/12/26 12:05
- Excel(エクセル) ExcelのVBAコードについて教えてください。 1 2022/06/20 09:22
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
- その他(Microsoft Office) Excelの条件付き書式についての質問です。 2 2022/09/08 01:25
- Excel(エクセル) EXCELでリターンキーが押されたらそのセルに特定の文字を表示したいのですが。 2 2022/08/07 12:58
- Visual Basic(VBA) 特定の文字を含むシートだけマクロ処理をしたい 1 2023/05/22 01:43
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
EXCELのVBAでRange("A1:C4")を...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
Excel VBAからAccessマクロを実...
-
非表示の列をすべて削除するマクロ
-
ExcelVBAでPDFを閉じるソース
-
エクセルのマクロをセルの値に...
-
ピボットテーブルでの毎回可変...
-
ExcelのVBA。public変数の値が...
-
wordを起動した際に特定のペー...
-
TERA TERMを隠す方法
-
エクセルマクロ自動更新
-
エクセルに張り付けた写真のフ...
-
有効数字N桁のマクロについて
-
特定文字のある行の前に空白行...
-
マクロ実行時、ユーザーフォー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
エクセルで別のセルにあるふり...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
ExcelVBAでPDFを閉じるソース
-
EXCELのVBAでRange("A1:C4")を...
-
Excel VBAからAccessマクロを実...
-
TERA TERMを隠す方法
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
マクロ実行時、ユーザーフォー...
-
Excelのマクロについて教えてく...
-
ソース内の行末に\\
おすすめ情報