2016-07-20 9 views
0

Benutzer geben spezifische Informationen zu (Sheet1) ein, dh Workflow, Server, Startzeit, Abhängigkeit und Ausführungszeit.Übereinstimmende Informationen im Arbeitsblatt

Ich habe ein Diagramm, das diese Namen in Headern hat.

Ich muss nach den Informationen suchen, die der Benutzer eingibt. Ich habe versucht, VLookup zu verwenden, aber das funktioniert nur für ein Kriterium. Gibt es noch etwas, das ich benutzen könnte?

Dies ist mein Code:

Sub Button2_Click() 
    'Copy the ticket number' 
    Worksheets("Sheet1").Range("c3").Copy _ 
     Destination:=Worksheets("Sheet3").Range("b2") 
    Call CopyTable 
    Call FINDSAL 
End Sub 

Sub CopyTable() 
    ' 
    ' CopyTable Macro to sheet 3 
    ' 
    Sheets("Sheet2").Select 
    Range("D1:I38").Select 
    Selection.Copy 
    Sheets("Sheet3").Select 
    Range("C4").Select 
    ActiveSheet.Paste 
    Columns("C:C").EntireColumn.AutoFit 
    Columns("D:D").EntireColumn.AutoFit 
    Columns("E:E").EntireColumn.AutoFit 
    Columns("F:F").EntireColumn.AutoFit 
    Columns("G:G").EntireColumn.AutoFit 
    Columns("H:H").EntireColumn.AutoFit 
    ActiveWindow.SmallScroll Down:=12 
End Sub 

Sub FINDSAL() 
    'looking for the specific word' 
    Dim E_name As String 
    E_name = Worksheets("Sheet1").Range("C5").Value 
    sal = Application.WorksheetFunction.VLookup(E_name, Sheet3.Range("c4:h41"), 1, False) 
    MsgBox sal 
End Sub 
+0

Would [ 'Index/Match' mit mehreren Kriterien] (https://www.deskbright.com/excel/index- Match-Multiple-Kriterien /) funktionieren? – BruceWayne

+0

Erstellen Sie getrenntes Re-Cord-Set, füllen Sie es mit Werten aus dem Bereich, wenden Sie Filter an, und erhalten Sie resultierende Datensätze von Re-Cord-Set. Hier ist das [Beispiel] (http://stackoverflow.com/a/36189658/2165759). – omegastripes

Antwort

0
Sub FINDSAL() 
'looking for the specific word' 
Dim E_name As String 
E_name = Worksheets("Sheet1").Range("C5").Value 
if instr(ename,Sheet3.Range("c4:h41")) > 0 then 
    msgbox Ename & " was found in the range. All range text is " &  Sheet3.Range("c4:h41") 
msgbox "Set sal as whatever you're trying to get out of this..." 
end if 
MsgBox sal 

End Sub

Verwandte Themen