Вам необходимо указать конкретную рабочую книгу, с которой вы хотите работать.
Строка Set pidat = Worksheets("pidat")
не будет выполнена, если у активной рабочей книги во время выполнения этой строки не будет рабочего листа с именем pidat
.
Вот пример того, как квалифицировать рабочую книгу
Dim theWorkbook as Workbook
Set theWorkbook = Application.Workbooks("myWorkbook")
Dim pidat as Worksheet
Set pidat = theWorkbook.Worksheets("pidat")
Вы можете сделать еще один шаг и убедиться, что лист с именем pidat (or whatever)
существует в квалифицированной рабочей книге, но я будуоставлю вас, чтобы узнать, как это сделать:)