
標題の件、以下のハンド入力にて、条件付き書式設定とシートモジュールへの
マクロコードを記述すると、アクティブセルの行をハイライト表示できます
知らいたい事は、以下を全てマクロコードにて記述したいでです
コードわかる方、教えて下さい
なお、マクロの記録実施しましたが、条件付き書式の設定は、記録が取れませんでした
【ハンド入力】
条件付書式設定
新しい書式ルール
数式を使用して、書式設定するセルを決定
以下数式を設定
=CELL("ROW")=ROW()
適用先以下設定
=$A$1:$ai$1000
【マクロ入力】
シートモジュールのsheet1に以下を記述
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = True
End Sub
No.2ベストアンサー
- 回答日時:
No1です。
(以下、少々辛口になりますが・・)
>マクロを扱えない人がさわるので、コピペマクロコードにして、
>画像にボタン登録して、実行してもらおうと思っています。
ご自身で使う分には自己責任なので問題はありませんけれど、他人に使わせようとするには、あまりにも検討不足なように感じます。
例えば、「マクロを使えない人」というのは、条件付き書式も使用しないという保証があるのでしょうか?
ご提示のマクロを設定すると、シート内の条件付き書式は全て削除されてしまうことになりますけれど、
『設定してあった条件付き書式がなくなった。元に戻してくれ』
などと言われた際に、対処できますか?
>画像にボタン登録して、実行してもらおうと思っています。
そのマクロはどうやって設定しておくのでしょうか?
ボタンを作成したりマクロを登録するくらいなら、最初からご提示のコードを設定しておけばよいのでは?
(ボタンもマクロも不要になります)
また、ボタンを誤操作で押してしまった場合に、何もわからないユーザーはどうやって元に戻せば良いのでしょうか?
どうしてもそのような方法で行うにしても、いちいちボタンを各シートに設置してマクロを登録するような方法を採るよりも、アドイン化してしまうという方法も考えられるでしょう。
(こちらも、ボタンは不要になります)
>コピペマクロコードにして~~
どこからコピーするのか不明ですけれど、通常のマクロならbasファイルにしておいてインポートすれば可能ですが、シートモジュールへのインポートはできませんので、コードをテキストとして設定するマクロにしておく必要があります。(テキストはコピペでも良いですが・・)
ただし、同一モジュール内に同一名のプロシージャは設置できませんので、別の目的でイベントマクロが既に設定されていたらどうするのかも含めて、処理を検討しておく必要があるでしょう。
(上記の意味がわからなければ、止めておいた方が良いと思います)
ブック内でコピペするというのであるなら、コピペなどせずにワークブックモジュールに記載しておく方が手間は少ないでしょう。
そうすれば、コピペする必要はなくなりますので。(No1に記載)
いずれにしろ、ご提示のコードを利用するのなら「条件付き書式」は他の目的には使えなくなるということを理解していますか?
意味がわからなかったり、面倒くさいことを考えたくなければ、前回の回答でご紹介した「セルにフォーカス」の機能を利用する方が、エクセルの組み込みの機能になっているので、下手な細工をするよりもリスクや手間を省くことができると考えられます。
No.1
- 回答日時:
こんばんは
質問の内容がはっきりしませんけれど、アクティブなセルの行をハイライト表示したいという事でしょうか?
>マクロの記録実施しましたが、条件付き書式の設定は、
>記録が取れませんでした
きちんと手順を踏めば、記録は取れるはずです。
操作を間違えていませんか?
ただし、記録できるのは「指定範囲に条件付き書式を設定するマクロ」なので、これを何度も実行すると、重複して同じ条件付き書式を設定してしまいます。
手操作で一度実行しておけばすむはずの内容なので、マクロ化する意図がわかりかねます。
一方で、CELL関数の「CELL("ROW")」は「最後に計算を実行したセル位置」を返すので、アクティブセルとは一致しないことは理解なさっていますか?
ですので、セル位置を再設定するために、SelectionCangeイベントでVBAで処理をするという仕組みになっています。
もしも、なさりたいことが上記であっていて、お使いのバージョンが最近の物であれば、ご質問のようなことはしなくても「セルにフォーカス」の機能が追加されていますので、そちらを使えば同じようなことが簡単に実現できます。
https://xtech.nikkei.com/atcl/nxt/column/18/0028 …
旧いバージョンであっても、どうせVBAを使うのなら、条件付き書式を使わずに、全てをVBAで処理をしてしまう方法も考えられるでしょう。
いくつかご指摘、大変ありがとうございます
再度、試してみます
>きちんと手順を踏めば、記録は取れるはずです。
>操作を間違えていませんか?
既にあるファイルではなく、毎回、新しいマクロファイルを作り
そこに、別ファイルからマクロをインポートしようと思っています
>マクロ化する意図がわかりかねます。
よく理解していませんでした。ここの設定した時に選択されているセルのみの行を指しているんですね
>CELL関数の「CELL("ROW")」は「最後に計算を実行したセル位置」を返すので、アクティブセルとは一致しないことは理解なさっていますか?
こちらの機能は知りませんでした。今回は行のみハイライトしたいと考えています
セルにフォーカス
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
クラスモジュールにあるプロシージャを、シートモジュールへコピーする為には?
Excel(エクセル)
-
エクスプローラーで見ることはできますか
Excel(エクセル)
-
【マクロ】Call関数で呼び出した場合、共通の変数宣言は、省略できますか?
Excel(エクセル)
-
-
4
【マクロ】参照渡しとモジュールレベル変数 どっちが よく使うものですか?
Excel(エクセル)
-
5
9月17日でサービス終了らしいのですが、今までのようなエクセルの質問や相談はどこですればいい?
Excel(エクセル)
-
6
エクセルの循環参照、?
Excel(エクセル)
-
7
【マクロ】WEBシステムから保存ではなく、開いたExcelデータを変数に入れる事が出来る?
Excel(エクセル)
-
8
勤怠表について ABS、TEXT関数の使い方について教えて下さい
Excel(エクセル)
-
9
Dir関数のDo Whileステートメントにおける1回目と2回目のファイル名の呼出し方法の違い
Excel(エクセル)
-
10
excelVBAについて。
Excel(エクセル)
-
11
excelVBAについて。
Excel(エクセル)
-
12
excelVBAについて。
Excel(エクセル)
-
13
excelVBAについて。
Excel(エクセル)
-
14
【関数】データベースから2つの条件を満たす場合に「一致」と表示したい
Excel(エクセル)
-
15
Excelを立ち上げ、キーボードだけで指定のファイルを開くことはできますか。
Excel(エクセル)
-
16
ユーザーマクロ作成
Excel(エクセル)
-
17
エクセル 同じ行の隣り合う数字の幅を広げるには
Excel(エクセル)
-
18
質問58753 このコードでうまく動作しません。どうしたら良いですか Private Sub Wor
Visual Basic(VBA)
-
19
【マクロ】Withステートメント2つを簡略する為には?
Excel(エクセル)
-
20
システムファイルについて
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【画像あり】オートフィルター...
-
他のシートの検索
-
Office2021のエクセルで米国株...
-
vba テキストボックスとリフト...
-
【マクロ】元データと同じお客...
-
【マクロ】【相談】Excelブック...
-
【マクロ】実行時エラー '424':...
-
エクセルのVBAで集計をしたい
-
【マクロ】【配列】3つのシー...
-
エクセルシートの見出しの文字...
-
【関数】3つのセルの中で最新...
-
LibreOffice Clalc(またはエク...
-
【マクロ】excelファイルを開く...
-
【マクロ】【画像あり】❶ブック...
-
【マクロ】【画像あり】4つの...
-
Excelで4択問題を作成したい
-
【関数】=EXACT(a1,b1) a1とb1...
-
エクセルの複雑なシフト表から...
-
UNIQUE関数の代用
-
【関数】同じ関数なのに、エラ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】元データと同じお客...
-
エクセルの関数について
-
【画像あり】オートフィルター...
-
エクセルのVBAで集計をしたい
-
エクセルのリストについて
-
【マクロ】数式を入力したい。...
-
【マクロ】【相談】Excelブック...
-
Office2021のエクセルで米国株...
-
【マクロ】実行時エラー '424':...
-
他のシートの検索
-
エクセルの複雑なシフト表から...
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
【マクロ】左のブックと右のブ...
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】別ファイルへマクロ...
-
【関数】同じ関数なのに、エラ...
-
Amazonでマイクロソフトオフィ...
-
ページが変なふうに切れる
おすすめ情報