アプリ版:「スタンプのみでお礼する」機能のリリースについて

あらかじめエクセルには、表として値がある。
入力欄を設定して、検索したい文字を入力すると、入力された特定の文字が色付けされたり、ヒットした文字があるセルが色付けされるようにしたい。

A 回答 (3件)

こんばんは!



具体的な配置が判らないので、なかなか回答が付かないのだと思います。

「入力欄」はA1セル、「表」の範囲を B1~H10 とした場合のコードです。
赤で塗りつぶすようにしてみました。

Sub Sample1()
Dim c As Range, myRng As Range
Set myRng = Range("B1:H10")
myRng.Interior.ColorIndex = xlNone
For Each c In myRng
If InStr(c, Range("A1")) > 0 Then
c.Interior.ColorIndex = 3
End If
Next c
End Sub

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 2
この回答へのお礼

ありがとうございます。
うまく再現できました。
合わせて教えて頂きたいのですが、
入力する単語が複数になる場合などは、どうすればよいのでしょうか?

入力セルを増やすやり方、例えばA1とA2、A3、A4・・・を入力欄に設定は可能でしょうか?

お礼日時:2017/07/16 21:28

No.1です。



>例えばA1とA2、A3、A4・・・を入力欄に・・・

色々やり方はありますが

Sub Sample2()
Dim i As Long, c As Range
Dim myRng As Range, myFlg As Boolean
Set myRng = Range("B1:H10")
myRng.Interior.ColorIndex = xlNone
For Each c In myRng
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
If InStr(c, Cells(i, "A")) > 0 Then
myFlg = True
Exit For
End If
Next i
If myFlg = True Then
c.Interior.ColorIndex = 3
End If
myFlg = False
Next c
End Sub

こんなんではどうでしょうか?m(_ _)m
    • good
    • 2
この回答へのお礼

№1さま
早速のご回答本当にありがとうございます。
A1B1C1D1最大10個のセルを入力用に考えてます・・・。

B1からAFの行が大体5000行程度の表です。
入力欄の横に実行ボタンを作って、入力後ボタンを押したら命令文が実行されるようにしたいです。
再度入力する際には、クリアボタンで入力欄をクリアしたいと考えてます。
たびたびのご質問ですが宜しくお願いします。

お礼日時:2017/07/17 01:37

続けてお邪魔します。



もう一度質問文を読み返してみると、
もしかして、完全一致でよかったのでしょうか?
今までの方法は入力欄の文字を「含む」セルの色付けにしていました。
「完全一致」であればわざわざループさせず、単純に条件付き書式で対応できます。

最終的な質問ではB列~AF5000 程度の範囲というコトですので、ループさせてしまうと
かなりの時間を要するはずです。

ただ、
>A1B1C1D1最大10個のセルを入力用に考えてます・・・。
これは「入力欄」ですね?

>B1からAFの行が大体5000行程度の表です。

入力欄と表の範囲がダブってしまいますので、
B2~AF5000 の範囲だというコードにしてみました。

シート上にコマンドボタンを二つ配置し、
「コマンドボタン1」が条件付き書式の設定、「コマンドボタン2」が条件付き書式及び1行目データの消去
としてみました。

Dim myRng As Range
Private Sub CommandButton1_Click()
Set myRng = Range("B2:AF5000")
With myRng
.FormatConditions.Add Type:=xlExpression, Formula1:="=COUNTIF($1:$1,B2)"
.FormatConditions(1).Interior.ColorIndex = 3
End With
End Sub

Private Sub CommandButton2_Click()
Set myRng = Range("B2:AF5000")
myRng.FormatConditions.Delete
Rows(1).ClearContents
End Sub

※ 完全一致セルが赤く塗りつぶされます。m(_ _)m
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!