- 締切済み
EXCEL VBAについて
EXCEL VBAに詳しい方よろしくお願いいたします ユーザーからフォルダー指定してもらい そのフォルダー内に入っているすべてのブック、すべてのシートの検索、 (シート内にオートシェイプの中に文字を入れたものもアリ。検索対象。) そして、その検索にヒットしたシート名とブック名を別のテキストファイルに吐き出す。 それとは別に検索に引っかかった文字を青に置き換える(EXCELシート内)事は可能でしょうか? 文字の色は変わるのですがオートシェイプ内の色が変えられません。 何時間がんばりましたが、経験不足のためどうもうまくいきません。 どなたか親切な方、お教えいただけたら幸いです。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 >何時間がんばりましたが、経験不足のためどうもうまくいきません。 できれば、多少とも「がんばった」という内容を教えてくれるとありがたいのですが。そのほうが書きやすいですね。 一応、オートシェイプ内の色の色を変えるスモールサンプルを出しておきます。 Sub TestSample1() Dim shp As Shape Dim SearchWd As String '---検索文字----------- SearchWd = "Excel" '---------------------- With ActiveSheet For Each shp In .Shapes If shp.DrawingObject.ShapeRange.Type = msoAutoShape Then s_FindTextInShape shp, SearchWd End If Next shp End With End Sub Sub s_FindTextInShape(shp As Shape, SearchWd As String) Dim num As Integer With shp.DrawingObject num = InStr(.Text, SearchWd) If num > 0 Then .Characters(Start:=num, Length:=Len(SearchWd)).Font.ColorIndex = 5 '青 End If End With End Sub
お礼
回答ありがとうございました。 コードが長すぎでのせることが出来ませんでした。 参考にがんばってみたいと思います。