Вместо вашего кода
With shRead
shRead.Range(lastRow, lastCol).Copy_
Worksheets("EOM").Range(B4, M4)
End With
Вы должны указать начальную и конечную ячейку для диапазона
With shRead
.Range(.Cells(lastRow, 1), .Cells(lastRow, lastCol)).Copy Worksheets("EOM").Range("B4")
End With
для пункта назначения, на который должна ссылаться ячейкабыть в двойных кавычках
РЕДАКТИРОВАТЬ
Вы можете использовать код, подобный приведенному ниже;для получения данных со всех рабочих листов необходим цикл, вы можете изменить код в соответствии с вашими требованиями
Dim i As Integer
i = 4
For Each ws In ActiveWorkbook.Worksheets
With ws
lastRow = .Cells(.Rows.Count, 2).End(xlUp).Row
lastCol = .Cells(lastRow, .Columns.Count).End(xlToLeft).Column
.Range(.Cells(lastRow, 1), .Cells(lastRow, lastCol)).Copy Worksheets("EOM").Range("B" & i)
i = i + 1
End With
Next