비교적 간단한 문제를 해결하려고하지만이를 알 수 없습니다. 내 목표는 Excel 응용 프로그램의 워크 시트에있는 셀 범위를 두 번째 새로 만든 Excel 응용 프로그램의 워크 시트에있는 같은 범위의 다른 범위로 복사하는 것입니다. 나는 두 번째 응용 프로그램을 사용하여 만듭니다VB : 범위를 다른 Excel 응용 프로그램에 복사
Set secondExApp = CreateObject("Excel.Application")
나는 추가 처리를 위해이 참고 자료를 사용하고 있습니다. 지금까지 두 가지 방법을 시도했습니다. 둘 다 제대로 작동하지 않습니다.
0 : 제조/소개
Set srcWb = Application.ActiveWorkbook
Set srcSheet = srcWb.Worksheets("example")
Set dstApp = CreateObject("Excel.Application")
Set dstWb = dstApp.Workbooks(1)
Set dstSheet = dstWb.Worksheets(1)
1 : PasteSpecial은 - 화상을 얻어 대신 단지 범위
srcSheet.Range("A1:B2").Copy
dstSheet.Range("A1:B2").PasteSpecial xlPasteAll
2 : Range.Copy [대상 (!) ] - 작동하지 않습니다. - 동일한 애플리케이션의 시트에만이 방법을 사용할 수 있습니까?
srcSheet.Range(srcSheet.Cells(..., ...), srcSheet.Cells(..., ...)).Copy _
dstSheet.Range(dstSheet.Cells(..., ...), dstSheet.Cells(..., ...))
도움을 주시면 감사하겠습니다.
편집 : 나는 이미 "레코드 매크로"기능을 해본 적이 있지만 '선택'하지 않고 내 자신에 코딩 또는 "활성화"선호 세포/시트/등
편집 (이 해결) : 모두 GSerg 및 iDevlop 아주 많이, 당신은 나를 위해 좋은 또 다른 출발점을 제공 주셔서 감사합니다. xlClipboardFormatDspText
과 같은 Excel 상수에 관한 연구를 수행했습니다.
실제로 새로운 Excel 인스턴스를 열면 붙여 넣기 (특수) 메뉴가 변경된다는 사실이 정말로 도움이 되었습니까?
이제 새 인스턴스를 만드는 대신 통합 문서 (숨길 수 있음)를 추가하고이 개체를 사용하여 내 콘텐츠를 추가 할 수 있습니다. 동일한 인스턴스 (작업 관리자를 살펴볼 수도 있음)에 있기 때문에 붙여 넣기 (특수) 메뉴는 완전히 동일합니다.
이제 선택 없이도 Range.Copy [destination]을 사용할 수 있습니다!
결과 :
'Hides the new workbook
Application.ScreenUpdating = False
Set dstWb = Workbooks.Add
Set dstSheet = dstWb.Worksheets(1)
srcSheet.Range(srcSheet.Cells(..., ...), srcSheet.Cells(..., ...)).Copy
dstSheet.Paste dstSheet.Range(dstSheet.Cells(..., ...), dstSheet.Cells(..., ...))
'Avoids the often seen dashed border around the copied range
Application.CutCopyMode = False
'Setting the initial change back
Application.ScreenUpdating = True
소프트웨어 : Excel 2007의
동일한 Excel 인스턴스에서 다른 통합 문서 대신 다른 Excel 응용 프로그램을 사용하는 이유는 무엇입니까? 내가 볼 수있는 유일한 보너스는 거대한 계산을 위해 듀얼 코어 프로세서를 이용하는 것입니다. 그러나 필요하지 않으면 느려집니다. –
@iDevlop 얼마나 재밌 네요. 나는 나 자신에 대해 알아 낸 후에 당신의 의견을 읽었을뿐입니다. 매우 유용한 코멘트! – Mic