- 締切済み
【Excel】 検索ができる備忘録を作成するのには?
エクセルで、備忘録を作ろうとしています。 たとえば、マニュアルがあって、その中で 検索したい文字を見つけたいとします。 検索するテキストボックスを作成し、検索ボタンを作成し、 検索するようにしたいのです。 さらに結果は、文字色を変えて(黄色とか、太字とか) 表示できるようにさせたいのですが どうすればいいのか、全くわかりません。 エクセルで作成したいのですが、 どなたかご教授願えますでしょうか。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- marbin
- ベストアンサー率27% (636/2290)
>もしよろしければ、検索するプログラムも >もう少し詳しく教えていただけないでしょうか。 コードの中の↓の部分が「検索」になるかもしれません。 >If c.Value Like "*" & mykey & "*" Then セルの値に変数mykeyで指定された文字列が含まれていたら、 というような意味になります。 ほかには、 Findメソッド というのも用意されています。 VBAヘルプに使い方が記載されています。
- marbin
- ベストアンサー率27% (636/2290)
セルの文字列の中で指定の文字列のみ色を付けるのは、手動で出なければ VBAになります。 指定の文字列に色を付けるサンプルです。 検索する文字列の指定は、↓は固定ですが、セルやInputBox、テキストボックス でも指定できます。 なお、このコードの検索範囲はアクティブシートの使用セルのみになります。 ※別のサイトの別の質問で回答したコードをそのまま使ってます。 Sub test() Dim c As Range Dim r As Range Dim mykey As String Dim sp As Variant Dim i As Integer Dim mystr As String Dim startnum As Integer Dim lengthnum As Integer mykey = "あいうえお" '色を着ける文字列 Set r = ActiveSheet.UsedRange For Each c In r If c.Value Like "*" & mykey & "*" Then sp = Split(c.Value, mykey) For i = 0 To UBound(sp) If i = 0 Then startnum = 1 Else startnum = startnum + Len(sp(i - 1)) + Len(mykey) End If With c.Characters(Start:=startnum, Length:=Len(sp(i))).Font .ColorIndex = xlAutomatic End With With c.Characters(Start:=startnum + Len(sp(i)), Length:=Len(mykey)).Font .ColorIndex = 3 End With Next i End If Next End Sub
- marbin
- ベストアンサー率27% (636/2290)
コントロールツールボックスのテキストボックスなら、 プロパティのLinkedCellに特定のセルを指定しておけば、 テキストボックスに入力した文字をセルに表示できますので、 そのセルを参照して条件付き書式でいけます。
- marbin
- ベストアンサー率27% (636/2290)
検索する文字列をテキストボックスでなく セルに入力し、色を変えるのがセル全体で いいのなら、 「条件付き書式」 でいけると思います。
お礼
marbinさん 早速のお返事ありがとうございます。 丁寧なプログラムも書いて頂けて大変ありがたいのですが、 私、VBAのテキストボックス等々に関しても 全くわからないのです。 もしよろしければ、検索するプログラムも もう少し詳しく教えていただけないでしょうか。 お願いいたします。