2017-04-23 2 views
1

以下の手順は、ファイルダイアログで開いたワークブックの各ワークシートを検索するためのものです。次に、センテンスを検索してその行を設定し、その行の値を検索します。ブックの各ワークシートでの検索の問題

ファイルを開くと、ブックの各ワークシートが実行されますが、ブックが開かれている値を参照しているようです。カバーシート上で開いた場合、そのシートの値は時々参照されます。

私は間違って何をしていますか? フォーマットが無効です。

`Sub FindPlanswGI() 
Dim wb As Workbook 
Dim wb1 As Workbook 
Dim ws As Worksheet 
Dim CRD As String 
CRD = FolderSelection 

Set wb1 = Workbooks.Open(CRD) 

For Each ws In wb1.Sheets 
Dim NHGI As Range 
Dim MX As Range 
Dim NH As Range 
Dim LC As Long 
Dim NHV As Range 
Dim MXV As Range 
Dim i As Long 

Set NH = ws.Range("B:B").Find("Searching for this non sentence.") 
Set MX = ws.Range("B:B").Find("Searching for this non sentence too.") 

    If NH Is Nothing Then 

    MsgBox "Not here" + ws.Name 
    GoTo NextWSH 
    Else 
     MsgBox "here" + ws.Name + NH.Address + MX.Address 
    End If 
'i = 4 to LC 
'LastRow 
Set MXV = Cells(MX.Row, 4) 
Set NHGI = Cells(NH.Row, 4) 
Set NHV = Cells(NHGI.Row + 1, 4) 

    If NHGI = "N/A" Or NHV = MXV Then 
     MsgBox "Here" + ws.Name + NHGI.Address 
    Else: MsgBox "No" + ws.Name + NHGI.Address 

    End If 
NextWSH: 
    Next ws 
wb1.Close 
End Sub 

答えて

1

MXV、NHGI、およびNHVの範囲のセル割り当てにwsワークシートオブジェクトが必要だと思います。したがって:

Set MXV = ws.Cells(MX.Row, 4) 
Set NHGI = ws.Cells(NH.Row, 4) 
Set NHV = ws.Cells(NHGI.Row + 1, 4)