Я пытаюсь заставить индекс / совпадение работать в моей программе VBA без какого-либо успеха.Я пытаюсь сопоставить столбец A из «сравнения» со столбцом «A» из предыдущего извлечения и возврата столбца K. Все это во время циклического прохождения каждой строки.Я уже все проверил, и все отлично работает.Единственная проблема сейчас состоит в том, чтобы заставить этот индекс / совпадение работать.
Sub Delta_Analysis()
Dim wb As Excel.Workbook
Set wb = ThisWorkbook
Dim sheet_refresh_instructions As Excel.Worksheet
Set sheet_refresh_instructions = wb.Worksheets("Refresh instructions")
Dim sheet_previous_extract As Excel.Worksheet
Set sheet_previous_extract = wb.Worksheets("Previous extract")
Dim sheet_current_extract As Excel.Worksheet
Set sheet_current_extract = wb.Worksheets("Current extract")
Dim sheet_comparison As Excel.Worksheet
Set sheet_comparison = wb.Worksheets("Comparison")
Dim sheet_historical_changes As Excel.Worksheet
Set sheet_historical_changes = wb.Worksheets("Historical changes")
'Start manipulating objects
sheet_previous_extract.UsedRange.ClearContents
sheet_current_extract.UsedRange.Copy
sheet_previous_extract.Cells(1, 1).PasteSpecial Paste:=xlPasteValues
sheet_current_extract.UsedRange.ClearContents
sheet_refresh_instructions.Activate
Range("C6").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Workbooks.Open Filename:= _
"http://jira3.ms.com/jira/sr/jira.issueviews:searchrequest-excel-current-fields/53756/SearchRequest-53756.xls?tempMax=1000"
ActiveWindow.Visible = False
Windows("SearchRequest-53756.xls").Visible = False
Dim wb1 As Excel.Workbook
Set wb1 = Excel.Workbooks("SearchRequest-53756.xls")
Dim sheet_Jira As Excel.Worksheet
Set sheet_Jira = wb1.Worksheets("general_report")
sheet_Jira.Activate
sheet_Jira.Range("1:3").EntireRow.Delete
sheet_Jira.UsedRange.Copy
sheet_current_extract.Cells(1, 1).PasteSpecial Paste:=xlPasteValues
wb1.Close
With sheet_comparison
.Range("A2:K" & .Cells(.Rows.Count, "A").End(xlUp).Row).ClearContents
End With
sheet_current_extract.Range("a2", sheet_current_extract.Range("a2").End(xlDown)).Copy
Sheets("Comparison").Select
Range("A2").Select
ActiveSheet.Paste
Dim i As Integer
i = 2
Do While sheet_previous_extract.Cells(i, 1) <> ""
Cells(i, 2) = Application.WorksheetFunction.Index(sheet_previous_extract.Range("K:K"), Application.WorksheetFunction.Match(sheet_comparison.Range("A:A"), sheet_previous_extract.Range("A:A"), 0))
i = i + 1
Loop
End Sub