|
こんにちは。
あまり上手ではないのと、
質問の意味を完全に理解できなかったのですが、
役にたてばと。
現在開いている全てのブックの全てのシートを調べ、
その中に「test」という文字列があったら、その場所を示します。
示すのは現在アクティブなブックのシートに書き出します。
Sub 複数のブック検索()
Dim myWBook As Workbook
Dim myWSheet As Worksheet
Dim findStrings As String
Dim myRange As Range
Dim checkWSheet As Worksheet
Dim checkCellNum As Integer
'結果を書き出すシートはそのときにアクティブなやつ。
Set checkWSheet = ActiveWorkbook.ActiveSheet
checkCellNum = 1
'検索したい文字列
findStrings = "test"
For Each myWBook In Workbooks
For Each myWSheet In myWBook.Worksheets
myWSheet.Activate
myWSheet.Range("A1:IV65536").Select
Set myRange = Selection.Find _
(What:=findStrings, LookAt:=xlWhole)
If myRange Is Nothing Then
Else
checkWSheet.Range("A" & checkCellNum).Value = _
myWBook.Name & myWSheet.Name & CStr(myRange.Address)
checkCellNum = checkCellNum + 1
End If
Next myWSheet
Next myWBook
checkWSheet.Activate
End Sub
▼mam さん:
>はじめまして。VBAの勉強中ですが、わからないことだらけ行き詰っております。つたない説明になりますが、何卒ご教授願います。
>
>複数のWorkbookを順次読込み、その中のあるシートのあるセルにある文字列がなんであるかを判断させたいのですが、上手くいきません。
>詳細:シート上の文字列が入力されているセル位置は不定。
> シート上の文字列を検出してその文字は「AAA」か「BBBB」か「CC」判断する。
> 1シート上に文字列は1個以上あるが検出すべき文字列は1一つ。
>
|
|