2016-04-26 10 views
0

このサブは、ワークシートから情報をコピーし、その値を新しいCSVワークブックに貼り付けるように設定されています。私はpastespecialでランタイムエラーが発生し続けますが、スプレッドシートを開いた後の最初のクリックでのみ表示されます。再度クリックすると完全に動作します。そして、それは私にエラーを与えるにもかかわらず、私はそれを上に値を貼り付けることをクリックして終了します。ここではわかりやすくするの便宜上最初の実行でペーストエラーが発生しました

Sub export_save() 

Dim nrows As Integer 
Dim norders As Integer 
Dim i As String 
Dim cell As Range 
Dim fname As String 
Dim WS As Worksheet 
Dim WK As Workbook 
Set WK = Workbooks.Add 
Dim k As Integer 
Application.DisplayAlerts = False 
Application.ScreenUpdating = False 
k = 2 
i = "DO" 'plant to plant movement 


'name new file 
On Error GoTo canceled 
fname = InputBox("Please name the new file, exlude any filename extensions.", "Export Data") 

WK.SaveAs Filename:="S:\Active Customers\Teknor Apex\Feeds\Orders\" & fname, _ 
    FileFormat:=xlCSV 
    MsgBox ("File saved to file path:S:\Active Customers\Teknor Apex\Feeds\dev\" & fname) 

'copy info over 
Workbooks("Teknor Template dev").Worksheets("REFORMATTED").Activate 
nrows = Rows(Rows.Count).End(xlUp).Row 
Workbooks("Teknor Template dev").Worksheets("REFORMATTED").Range("A3:AG" & nrows).copy 
WK.Activate 
Range("A1:AG" & nrows).PasteSpecial xlPasteValues, Operation:=xlNone, SkipBlanks _ 
    :=False, Transpose:=False 


'remove parentheses 
norders = Rows(Rows.Count).End(xlUp).Row 
Range("AI2").FormulaR1C1 = "=MID(RC[-14],FIND(""("",RC[-14],1)+1,3)" 
Range("AI2").AutoFill Destination:=Range("AI2:AI" & norders), Type:=xlFillDefault 
Range("AI2:AI" & norders).copy 
Range("U2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 
Columns("AI:AI").Delete Shift:=xlToLeft 

'remove ship paratheses in DO orders 
For Each cell In Range("B2:B" & norders) 
    If cell.Value = i Then 
     Range("AI" & k).FormulaR1C1 = "=MID(RC[-13],FIND("" ("",RC[-13],1)+1,3)" 
     Range("AI" & k).copy 
     Range("V" & k).PasteSpecial xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 
    End If 
    k = k + 1 
Next cell 

'delete extra column used to remove paratheses 
Columns("AI:AI").Delete Shift:=xlToLeft 

WK.Save 
Application.ScreenUpdating = True 
Application.DisplayAlerts = True 

canceled: 

End Sub 

はpastespecialラインであるだけで、エラーを含む小型版です。

Workbooks("Teknor Template dev").Worksheets("REFORMATTED").Activate 
nrows = Rows(Rows.Count).End(xlUp).Row 
Workbooks("Teknor Template dev").Worksheets("REFORMATTED").Range("A3:AG" & nrows).copy 
WK.Activate 
Range("A1:AG" & nrows).PasteSpecial xlPasteValues, Operation:=xlNone, SkipBlanks _ 
    :=False, Transpose:=False 

答えて

0

変更:

Range("A1:AG" & nrows).PasteSpecial xlPasteValues, Operation:=xlNone, SkipBlanks _ 
:=False, Transpose:=False 

へ:あなたのコードはPaste:=

+0

感謝の男が欠落している

Range("A1:AG" & nrows).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 

、私はそこに前にいることが、中には登場していると付け加えた誓います問題を解決する! – diamondjim

関連する問題