| 
    
     |  | こんにちは。かみちゃん です。 
 >そうすると、A-1B-1というような文字列ができます。
 >
 >  A  B  C  D  E   F
 >1      C-1 D-1 E-1
 >2 A-1 B-1  X  Y  Z  A-1B-1
 >というような感じです。(ここでは、F列が作業例です)
 >
 >それを検索して、一致したら行番号を取得します。
 >次に列見出しの中からC-1、D-1、E-1を探して列番号を取得します。
 >取得された行番号、列番号のセルの値が取得したい値
 >ということになるのではないでしょうか?
 >Find メソッドを使えばできるような気がしますので、一度ヘルプなどで調べてみてください。
 
 F列に作業列を作ってあることを前提にですが、次のようなコードでできましたので、参考にしてみてください。
 Option Explicit
 Sub Macro1()
 Dim TargetValue1 As String
 Dim TargetValue2 As String
 Dim TargetValue3 As String
 Dim c As Range
 Dim RowNo As Long
 Dim ColumnNo As Integer
 
 '検索する文字列(実際には、セルの値?)
 TargetValue1 = "A-1"
 TargetValue2 = "B-3"
 TargetValue3 = "D-1"
 
 '行見出しの作業列(F列)を検索
 RowNo = 0
 With Columns(6)
 Set c = .Find(TargetValue1 & TargetValue2, LookIn:=xlValues)
 If Not c Is Nothing Then
 '見つかったら行番号を取得
 RowNo = c.Row
 End If
 End With
 
 '列見出し(1行)を検索
 ColumnNo = 0
 With Rows(1)
 Set c = .Find(TargetValue3, LookIn:=xlValues)
 If Not c Is Nothing Then
 '見つかったら列番号を取得
 ColumnNo = c.Column
 End If
 End With
 
 '行番号、列番号ともに取得できたら
 If RowNo > 0 And ColumnNo > 0 Then
 '検索結果の取得
 MsgBox TargetValue1 & " And " & _
 TargetValue2 & " And " & _
 TargetValue3 & " の検索結果は " & _
 Cells(RowNo, ColumnNo).Value
 Else
 MsgBox TargetValue1 & " And " & _
 TargetValue2 & " And " & _
 TargetValue3 & " に一致するものはありませんでした。"
 End If
 End Sub
 
 |  |