2017-01-18 1 views
2

내가 다른 하나의 통합 문서의 열에서 일부 값을 복사 및 붙여 넣기하려고 :값을 붙여넣고 소스 서식을 유지 하시겠습니까?

통합 문서 1

Column A 
10/02/1990 
41 
11/01/2017 
52 

통합 문서 내가 무엇입니까 문제는 경우는 2

Column I 
10/02/1990 
41 
11/01/2017 
52 

전 통합 문서 A의 열 1에서 값을 복사 한 다음 통합 문서 2의 열 I에 붙여 넣으십시오.

Column I 
34331 
41 
121092 
52 

이것은 포맷팅이 어떻게 든 Excel에서 분실/혼란에 빠지기 때문입니다.

Sub Paste3() 
Dim lastRow As Long 
On Error GoTo ErrorHandler 

lastRow = ActiveSheet.Range("H" & Rows.Count).End(xlUp).Row 
ActiveSheet.Range("H10").PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone, SkipBlanks:=False 

Exit Sub 

ErrorHandler: 
MsgBox "Please Copy Values First." 
End Sub 

이 작동하고 값이 자신의 서식을 유지 :

그래서 나는 사용자가과 같이 VBA를 사용하여이 데이터를 붙여 넣을 수있는 버튼을 만들었습니다. 그러나 셀 형식도 변경됩니다.

나는 이것이 통합 문서 1의 셀에 검은 색 테두리가 있고 글꼴이 검정색이며 굵게 표시된다는 것을 의미합니다.

통합 문서 2의 글꼴과 셀 경계를 유지하려고합니다. 이다 :

회색 테두리, RGB (191, 191, 191) 회색 글꼴 (RGB 128, 128, 128) 글꼴 크기 : 11 글꼴 : 돋움 본질적으로는 열을 같이 할 필요가

오른쪽으로.

enter image description here

나는 이것을 시도했다, 그러나 그것은 잘 작동하지 않습니다, 그것은이 안되어 내 스프레드 시트의 범위에 테두리를 추가합니다. 차라리 그냥이 값을 붙여 넣기 등 셀 형식 및 글꼴 색상을 변경하지 않고 자신의 형식을 유지하는 쉬운 방법을 찾을 것

Sub Paste3() 
Dim lastRow As Long 
On Error GoTo ErrorHandler 

lastRow = ActiveSheet.Range("H" & Rows.Count).End(xlUp).Row 
ActiveSheet.Range("H10").PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone, SkipBlanks:=False 

Dim rng As Range 
Set rng = Range("H10:H" & lastRow) 
With rng.Borders 
     .LineStyle = xlContinuous 
     .Color = RGB(191, 191, 191) 
     .Weight = xlThin 
     .Font 
End With 

With rng.Font 
       .TextColor = RGB(128, 128, 128) 
       .Font.Name = "Calibri" 
       .Size = 11 
       .Bold = False 
      End With 
Exit Sub 

ErrorHandler: 
MsgBox "Please Copy Values First." 
End Sub 

은 정직합니다

내가 잘못 가고 어디에 누군가가 나를 표시 할 수 있습니다하십시오 ?

+2

* 붙여 넣기 값 * 페이스트, 음, * 값 *. * 서식을 유지하려면 * 이상의 값을 붙여 넣을 필요가 있습니다. –

+0

붙여 넣기 특별 작업을 수동으로 수행하면서 매크로를 기록하고 Excel에 'PasteSpecial' 호출을 위해 어떤 매개 변수가 제공되는지 확인하십시오. –

+0

값 및 형식 붙여 넣기. 이 게시물 확인 : http://stackoverflow.com/questions/25461314/vba-copy-cells-value-and-format – tlemaster

답변

3

이것에 대한 PasteSpecial 옵션이있다 :

ActiveSheet.Range("H10").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, _ 
       Operation:= xlNone, SkipBlanks:=False, Transpose:=False 
관련 문제