2017-04-12 1 views
-1

코드를 처음 실행하면 기존 문서가 바뀌고 CSV 파일이 문제없이 저장됩니다. 하지만 코드를 두 번째 실행하면 CSV를 저장할 때 Excel이 다운됩니다.두 번째로 CSV 파일로 저장하면 Excel이 작동을 멈 춥니 다.

Excel을 처음 다시 실행하기위한 코드를 실행 한 후에도 해결 방법이 있지만 시간이 오래 걸리나요? 당신이 "CSV"파일로 Sheets("input11")을 저장하려는 경우

Sub copiar_ayuda1() 
    Application.DisplayAlerts = False 
    With Sheets("input11") 
    .Select 
    .Move 
    End With 
    PathName = "" & ThisWorkbook.Path & "os.csv" 

    ActiveWorkbook.SaveAs Filename:=PathName, FileFormat:=xlCSV, CreateBackup:=False 

    Application.CutCopyMode = False 
    ActiveWorkbook.Saved = True 
    ActiveWorkbook.Close 

End Sub 
+0

? 'Sheets ("input11")'을'CSV' 파일 형식으로 저장합니까? –

+1

오류가 발생했습니다. 어떤 지시가 그것을 일으키는가? 귀하의 질문은 불완전합니다. [편집] 기다려주십시오. 오류가 없습니다. 그래서 코드는 작동하지만 느리다. 귀하의 게시물을 명확히 할 수 있습니까? –

+0

확인. Excel이 있고 CSV 형식으로 시트 ("input11")로 저장하려고합니다. 그리고 문제없이 처음으로 코드를 실행했고 CSV가 기존 코드를 대체했습니다. 그리고 두 번째로 실행했을 때, "Microsoft Excel의 작동이 멈췄습니다"라는 오류가 발생했습니다. 새 CSV 파일을 이전 파일을 대체 할 때 저장했을 때 발생했습니다. –

답변

0

, 당신이 할 필요가있다 :

Option Explicit 

Sub copiar_ayuda1() 

Dim PathName As String 
Dim Sht As Worksheet 

Application.DisplayAlerts = False 

PathName = ThisWorkbook.Path & "\os.csv" 

Set Sht = ThisWorkbook.Worksheets("input11") 
With Sht 
    .SaveAs Filename:=PathName, _ 
    FileFormat:=xlCSV, CreateBackup:=False 
End With 

Application.CutCopyMode = False 

End Sub 
정확히 당신이 뭘 하려는지
+0

@Diego Bauza 위 코드를 사용해 보셨습니까? 의도 한대로 작동합니까? –

+0

답변 해 주셔서 감사합니다. 내가 의도 한대로 작동하지 않습니다. 시트 "input11"의 이름을 "os"로 대체하고 전체 원본 파일을 "os"라는 이름의 CSV 형식으로 저장합니다. –

관련 문제