初歩:UsedRange と UBound

Public Sub test()
Dim i As Long
Dim WrkRow As Long
Dim WrkCol As Long
Dim WrkRange As Variant

With Sheets("SyainMST")
WrkRow = .Cells(Rows.Count, 1).End(xlUp).Row
WrkCol = .Cells(1, Columns.Count).End(xlToLeft).Column
WrkRange = .Range("A1").Resize(WrkRow, WrkCol)
End With
For i = 1 To WrkRow

If WrkRange(i, 1) = Range("A1") Then
Range("A2") = WrkRange(i, 2)
Range("A3") = WrkRange(i, 3)
Range("A4") = WrkRange(i, 4)
Range("A5") = WrkRange(i, 5)
End If
Next i
End Sub

                                                                                                                    • -

            ↓

                                                                                                                    • -

Public Sub test()
Dim i As Long
Dim WrkRange As Variant

WrkRange = Sheets("SyainMST").UsedRange
For i = 1 To UBound(WrkRange)

If WrkRange(i, 1) = Range("A1") Then
Range("A2") = WrkRange(i, 2)
Range("A3") = WrkRange(i, 3)
Range("A4") = WrkRange(i, 4)
Range("A5") = WrkRange(i, 5)
End If
Next i
End Sub