2013-08-27 5 views
-2

일련의 대시 보드를 생성하는 VBA 루프가 있습니다. 하나의 특정 셀에서 두 글자 코드를 변경하고 조회를 수행하며 해당 워크 시트에서 일련의 차트를 업데이트 할 수 있습니다. 지금까지 새로 고친 대시 보드 각각에 대해 PDF를 내보내었지만 이제는 Excel에서 해당 워크 시트의 정적 복사본을 만들어야합니다.워크 시트를 새 통합 문서로 복사하고 변경하지 못하게합니다.

코드 교환 사이에 업데이트 된 워크 시트의 사본을 만들어 다른 통합 문서에 저장할 수 있습니까? 나는 20 개의 비슷한 워크 시트를 가진 하나의 워크 북을 생성하게 될 것이다. 나는 차트를 무기한으로 고정시키고 싶다.

자동 재 계산을 방지하여이 작업을 수행 할 수 있습니까? 아니면 누구나 다른 방법을 제안 할 수 있습니까? 워크 시트 자체에는 10-15 개의 별도 차트가 있습니다.

답변

0

제대로 이해하면 기존 통합 문서의 새 시트에 현재 시트를 복사하고 수식이나 VBA를 제거 하시겠습니까? 이렇게해야합니다.

Sub transferStrip(destFile As String) 
    Dim wbSource As Workbook 
    Dim wbDest As Workbook 
    Dim shCopy As Worksheet 
    Dim shPaste As Worksheet 
    Dim chtIndex As Integer 

    Set wbSource = ActiveWorkbook 
    Set wbDest = Workbooks.Open(destFile) 
    Set shCopy = wbSource.Sheets("[SheetName]") 

    shCopy.UsedRange.Copy 
    Set shPaste = wbDest.Sheets.Add(After:=wbDest.Sheets(wbDest.Sheets.Count)) 
    shPaste.Range("A1").PasteSpecial (xlPasteFormats) 
    shPaste.Range("A1").PasteSpecial xlPasteValues 

    chtIndex = 1 
    For Each ch In shCopy.ChartObjects 
     shCopy.ChartObjects(chtIndex).CopyPicture 
     shPaste.Paste 
     shPaste.Shapes(chtIndex).Left = shCopy.ChartObjects(chtIndex).Left 
     shPaste.Shapes(chtIndex).Top = shCopy.ChartObjects(chtIndex).Top 
    Next ch 

wbDest.Close (True) 
End Sub 

당신은 당신이 원본 통합 문서에 복사하고, 당신이 DestFile이로 복사 할 통합 문서의 경로를 통과 할 시트의 이름을 [시트 이름] 변경 변경해야합니다.

+0

감사합니다. 이것이 차트를 보존 할 수 있는지 아십니까? –

+0

죄송합니다. 그것을 놓쳤습니다. 수정 된 코드는 각 차트를 대상 시트에 이미지로 복사합니다. 그러나 실행하기 전에 대상 시트에 실제 이미지가 있으면 실행되지 않습니다. – hoopzbarkley

+0

매우 감사드립니다. 나는이 방법이 옳지 않다 (차트가 동일하고 잘못된 위치에 나온다). 그러나 붙여 넣기 값 아이디어는 매우 유용하다. –

관련 문제