2016-08-12 16 views
0

私の妻は、作業を中止した作業中のスプレッドシートを持っています。使いやすい素敵なシートの1つのタブにデータを入力してからボタンを押すと、データが別のシートの表に転送されます。入力タブは「NCRレポート」、テーブルタブは「PM2」と呼ばれます。それがなぜ機能しなくなったのか?マクロが動作を停止しました

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 = Worksheet( "PM2")のようです。Cells(Counter、1).Value – Chris

答えて

2

シート名に一貫性のない参照があります。

=ワークシート( "PM 2").Cells(カウンター、1).Valueの

以降その:

ワークシート(一方のケースそのにおいて (NCRレポート)。セル(2,7)。値

この資料は以下の製品について記述したものです。

コードは、ワークシートの実際の名前と一致する必要があります(空白の有無にかかわらず)。

+0

ありがとう。スペースを取り除いたが、ランタイムを取得することを知っている13エラー – Chris

関連する問題