2016-08-12 3 views
0

У моей жены есть лист с расширением на работе, которая перестала работать. Вы вводите данные в одну вкладку на удобном прост в использовании листе, затем нажмите кнопку, и данные передаются в таблицу на другом листе. вкладка ввода называется «Отчет NCR», а вкладка таблицы называется «PM2» ниже - это макрос. Любая идея, почему она перестала работать?Macro перестает работать

Sub Button111_Click() 
Dim a As Date 
Dim Counter As Integer 
Dim Filled As Boolean 
Dim ParamOut As String 
Dim i As Integer 
Dim Reels As String 


MsgBox ("Wait...") 



'Identify 1st empty row 
Counter = 3 
While Filled = False 
    Counter = Counter + 1 
    a = Worksheets("PM 2").Cells(Counter, 1).Value 
    If a = 0 Then 
     Filled = True 
     Else: Filled = False 
    End If 

Wend 

'Shift 
Worksheets("PM2").Cells(Counter, 2).Value = Worksheets("NCR Report").Cells(2, 7).Value 

'Production date 
Worksheets("PM2").Cells(Counter, 1).Value = Worksheets("NCR Report").Cells(3, 7).Value 

'Article number 
Worksheets("PM2").Cells(Counter, 4).Value = Worksheets("NCR Report").Cells(4, 7).Value 

'Total weight 
    Worksheets("PM2").Cells(Counter, 5).Value = Worksheets("NCR Report").Cells(16, 8).Value 

'Parameter out, build the string 
ParamOut = "" 
For i = 21 To 24 
    If Worksheets("NCR Report").Cells(i, 2).Text <> "" Then 

     ParamOut = ParamOut & " " & Worksheets("NCR Report").Cells(i, 2).Text & " " & Worksheets("NCR Report").Cells(i, 5).Text & " " & Worksheets("NCR Report").Cells(i, 9).Text & " " & Worksheets("NCR Report").Cells(i, 10).Text 
    End If 
Next i 

Worksheets("PM2").Cells(Counter, 6).Value = ParamOut 

'Adjustements 
Worksheets("PM2").Cells(Counter, 7).Value = Worksheets("NCR Report").Cells(29, 2).Value 

'Reel number 
Reels = "" 
Reels = Worksheets("NCR Report").Cells(10, 2).Text 


    For i = 11 To 15 
    If Worksheets("NCR Report").Cells(i, 2).Value = 0 Then 
      Else: Reels = Reels & "/" & Worksheets("NCR Report").Cells(i, 2).Text 
     End If 
    Next i 

Worksheets("PM2").Cells(Counter, 3).Value = Reels 

MsgBox ("NCR has been successfully added to the spreadsheet." & vbCrLf & "Don't forget to save this file before quitting and also to block the reels on PLAIN.") 


End Sub 
+0

Забыл, чтобы добавить сообщение об ошибке «Ошибка выполнения» 9 ': Скрипт вне диапазона – Chris

+0

Идея не существует. На какой строке происходит сбой этого сценария? – Taosique

+0

похоже на hte a = Рабочий лист («PM2»). Ячейки (счетчик, 1). Значение – Chris

ответ

2

У вас есть несогласованные ссылки на имя листа. В одном случае его:

а = Worksheets ("PM 2") .Cells (счетчик, 1) .Value

а позже:

Worksheets ("PM2 ") .Cells (счетчик, 2) .Value = Рабочие (" NCR Отчет"). Клетки (2, 7) .Value

Код должен соответствовать фактическому названию рабочего листа с пробелом или без него

+0

Спасибо за это. Получил освобождение от пространства, но знаю, что получить ошибку 13 – Chris