Q:

Checking two ranges in different workbooks (run time error 424)

I am trying to check whether the values in workbook1-sheet1-A are matched in workbook2-sheet2-E. If there is a match workbook1-sheet1-Y receives a 'x'.
This is the code I have so far and gives me Run time error 424 - Object required error on the if loop.
Sub Check()
'
Application.ScreenUpdating = False

endRow = Range("A" & Rows.Count).End(xlUp).Row

wkbSLA = ("F:\Workbook2")

For i = 2 To endRow
    If Cells(i, 1).Value = wkbSLA.Sheets("Sheet2").Range("E2:E575").Value Then
        Range("Y" & i) = "x"
    End If
Next i

'
End Sub

A:

To ensure your code is doing everything you expect it to it, make sure you qualify your objects with variables. 
Also, you cannot use the .Value property on multi-cell range. That is probably where your error is hitting. A better way to approach this is with the .Find method.
If you write the code something like this, it should work for you ... though you may need to tweak it a bit to meet your needs.
Option Explicit

Sub Check()

Application.ScreenUpdating = False

Dim wkb1 as Workbook, wkb2 as workbook
Set wkb1 = Workbooks("workbook1")
Set wkb2 = Workbooks("F:\Workbook2") 
' -> do you need Workbooks.Open("F:\Workbook2") here? 
' Seems you may if the workbook you want to access is closed

Dim wks1 as Worksheet, wks2 as Worksheet
Set wks1 = wkb1.Sheets(1) 'may need to change this reference for your needs
Set wks2 = wkb2.Sheets("Sheet2")

With wks1

    Dim endRow as Long
    endRow = .Range("A" & Rows.Count).End(xlUp).Row

    Dim i as Long
    For i = 2 To endRow

        Dim rng as Range
        Set rng = wks2.Range("E2:E575").Find .Cells(i,1).Value lookat:=xlWhole

        If Not rng Is Nothing Then .Range("Y" & i) = "x"

    Next i

End With

End Sub

