[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『検索してセルに色づけ』(M)
編集の検索で、検索されたセルに色づけ
する事は出来ないでしょうか?
ご指導の程宜しくお願い致します。
何を検索するのかわかりませんが、ツールバーの「書式」⇒「条件付書式」を使うか 「マクロの登録」を利用して「検索」から「セルに色を付ける」という作業を登録して みて、 Visual Basic Editor のモジュールを開いてその中のマクロ文を応用しては どうでしょうか?(スー)
Sub Kensaku() Dim myStr As String Dim myRange As Range
myStr = Application.InputBox(prompt:="検索する文字列を入力してください") If myStr <> "False" And myStr <> "" Then For Each myRange In ActiveSheet.UsedRange If myRange.Value = myStr Then _ myRange.Interior.ColorIndex = 3 Next End If End Sub
InputBoxに入力した文字列と完全に一致するものに色をつけますが、 こんなのはダメでしょうか (りな)
思い切り外していたらごめんなさい。 検索で見つかるべきセルがたくさんあっても、 編集→検索 をするとセル一つずつしか ヒットしません。 検索の途中では詳細確認しにくいので、一通り検索を終えた後で確認したいので、見つけ やすいように、ヒットしたセルにマークを付けておきたいと言う意味ではないでしょうか? 手動でアイコンをワンクリックすることが可能なら、「塗りつぶしの色」アイコン(バケツ からペンキがこぼれているようなアイコン)を押す と言うのではいかがでしょう? 検索の途中でこのボタンを押せばそのセルに色が付きますし、継続して検索も可能です。 色はその横の▼を押せば選択できます。 (ちゅうねん)
検索したセルに色をつけたいのは、ヒットした時枠線だけよりも 色がついていたほうがわかりやすいと思ったからです。 (ちゅうねん)さんの思った事とは違うのです。 言葉足らずでごめんなさい!
(りな)さんのはマクロなんですか? 恥ずかしながらまったくの初心者で、どーしたらいいのか・・・ 時間に余裕があれば教えてください (M)
誰も教えてくれないですね。では、マクロの使い方ですが http://www.excel.studio-kazu.jp/lib/e1nw/e1nw.html こちらで勉強して下さい。(無責任かな) りなさんのマクロの使い方はAlt+F11でVBEを開き「挿入」>「標準モジュール」で出来た真っ白 のModule1にりなさん考案のコードをコピペすれば出来ます。実行はAlt+F8でkensakuを選び 実行で出来ます。(ケン)りなさん〜上のコード動きませんよ〜
ifに対するend ifが抜けてますわ。 あの方も相当慌てモンですさかい、ま、カンニンしたっておくんなはれ。 救世主の(おいぼれ弥太郎)
ごめんなさい。_ を入れていたんですがなぜか抜けていますね 書き込んだときに改行がうまくいかなくて、少しいじっていたような気がするんで そのときに誤って消してしまったのかもしれません。修正しときます。 (りな)
りなさん、いつも早起きでんなぁ。↑修正? (弥の字)
無事に色づけできるようになりました。 そこでもう一つ質問なんですが、色づけする色を 変えることは出来ませんか?現在は赤です。 (ケン)さん勉強させてもらいます! (M)
色を変えるには、 myRange.Interior.ColorIndex = 3 ←この数字を変更します(1〜56)
Sub Index_kakunin() Dim i As Integer For i = 1 To 56 Cells(i, 1).Value = i Cells(i, 1).Interior.ColorIndex = i Next i End Sub
数字に対応する色はこのマクロで調べてください (りな)
ありがとうございました。 (M)
Dim Kensakuchu As Boolean Dim Back() As Integer
Sub Kensaku()
Const KENSAKU_COLOR = 37 '←色を変えるときはこの数字を変更(1〜56)
Dim i As Long, n As Long Dim rng As Range Dim kensaku_moji As String
kensaku_moji = Application.InputBox("検索したい文字を入力してください")
If kensaku_moji = "False" Or kensaku_moji = "" Then Exit Sub
If Not Kensakuchu Then
With ActiveSheet.UsedRange i = .Row n = .Column ReDim Back(i To .SpecialCells(xlCellTypeLastCell).Row, n To .SpecialCells(xlCellTypeLastCell).Column) End With
For i = LBound(Back, 1) To UBound(Back, 1) For n = LBound(Back, 2) To UBound(Back, 2) Back(i, n) = Cells(i, n).Interior.ColorIndex Next n Next i
Kensakuchu = True
End If
For Each rng In ActiveSheet.UsedRange
If rng.Value Like kensaku_moji Then rng.Interior.ColorIndex = KENSAKU_COLOR End If
Next rng
End Sub
Sub Moto() Dim i As Long, n As Long
Application.ScreenUpdating = False
If Kensakuchu Then
For i = LBound(Back, 1) To UBound(Back, 1) For n = LBound(Back, 2) To UBound(Back, 2) Cells(i, n).Interior.ColorIndex = Back(i, n) Next n Next i
Kensakuchu = False
End If
Application.ScreenUpdating = True
End Sub
少し変更しました。検索にワイルドカード使用可能、検索後 Moto でもとに戻せる 問題がないわけではありませんが、ちょっとはましでしょう (りな)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.