2015-01-16 3 views
0

셀 범위를 복사하고 다른 워크 시트의 다음 사용 가능한 행에 붙여 넣으려면이 코드를 아래에 있습니다. 내 문제는 값보다는 수식을 붙여 넣는 것입니다. 무엇을 바꾸어야합니까?한 워크 시트의 셀 범위를 복사하여 다른 워크 시트에 수식 대신 값으로 붙여 넣기

Private Sub CopyAuditData_Click() 
Dim ws1 As Worksheet, ws2 As Worksheet 
    Dim DestRow As Long 
    Set ws1 = Sheets("Call Audit Sheet") 
    Set ws2 = Sheets("HiddenData") 
    DestRow = ws2.Cells(Rows.Count, "A").End(xlUp).Row + 1 
    ws1.Range("V1").Copy ws2.Range("A" & DestRow) 
    ws1.Range("V2").Copy ws2.Range("B" & DestRow) 
    ws1.Range("V3").Copy ws2.Range("C" & DestRow) 
    ws1.Range("V4").Copy ws2.Range("D" & DestRow) 
    ws1.Range("V5").Copy ws2.Range("E" & DestRow) 
    ws1.Range("V6").Copy ws2.Range("F" & DestRow) 
    ws1.Range("V7").Copy ws2.Range("G" & DestRow) 
    ws1.Range("V8").Copy ws2.Range("H" & DestRow) 
    ws1.Range("V9").Copy ws2.Range("I" & DestRow) 
    ws1.Range("V10").Copy ws2.Range("J" & DestRow) 
    ws1.Range("V11").Copy ws2.Range("K" & DestRow) 
    ws1.Range("V12").Copy ws2.Range("L" & DestRow) 
    ws1.Range("V13").Copy ws2.Range("M" & DestRow) 
    ws1.Range("V14").Copy ws2.Range("N" & DestRow) 
    ws1.Range("V15").Copy ws2.Range("O" & DestRow) 
    ws1.Range("V16").Copy ws2.Range("P" & DestRow) 
    ws1.Range("V17").Copy ws2.Range("Q" & DestRow) 
    ws1.Range("V18").Copy ws2.Range("R" & DestRow) 
    ws1.Range("V19").Copy ws2.Range("S" & DestRow) 
    ws1.Range("V20").Copy ws2.Range("T" & DestRow) 
    ws1.Range("V21").Copy ws2.Range("U" & DestRow) 
    ws1.Range("V22").Copy ws2.Range("V" & DestRow) 
    ws1.Range("V23").Copy ws2.Range("W" & DestRow) 
    ws1.Range("V24").Copy ws2.Range("X" & DestRow) 
    ws1.Range("V25").Copy ws2.Range("Y" & DestRow) 
End Sub 

미리 감사드립니다.

답변

1

ws1.Range("V1").Copy ws2.Range("A" & DestRow) 

의이 본질적으로 다른 하나의 워크 시트에서 열 행을 전치한다. 당신이 컬럼에 행을 전치 할 일이 있기 때문에 대신 특정 범위 복사/붙여 넣기의 다양한 라인의

은 특정 예에 사용되는 3

에 25-50 라인을 감소 루프를 사용 . 행 번호는 붙여 넣기중인 열 번호와 일치하므로 루프를 사용하십시오. 상기 광원의 행과 열 모두 타겟으로 사용

어디 lRow = 1 : 추천

Private Sub CopyAuditData_Click() 

Dim ws1 As Worksheet, ws2 As Worksheet 
Dim DestRow As Long, lRow As Long 

    Set ws1 = Sheets("Call Audit Sheet") 
    Set ws2 = Sheets("HiddenData") 
    DestRow = ws2.Cells(Rows.Count, "A").End(xlUp).Row + 1 

    'CHANGES HERE 
    For lRow = 1 To 25 
     ws2.Cells(DestRow, lRow).Value = ws1.Cells(lRow, "V").Value 
    Next lRow 

End Sub 

나누기 다운.

ws2.Cells(DestRow, 1)

ws1.Cells(lRow, "V") 매우 친절 선생님 감사 ws1.Range("V1")

+1

과 동일 ws2.Range("A" & DestRow)과 동일합니다! 매우 감사. –

0

대신

ws1.Range("V1").Copy ws2.Range("A" & DestRow) 

ws1.Range("V1").Copy 
ws2.Range("A" & DestRow).PasteSpecial Paste:=xlPasteValues 

참고하십시오 지금 코드의 2 행되어야한다!

0

복사 만 값이 시도 :

대신 사용

ws2.Range("A" & DestRow) = ws1.Range("V1") 
관련 문제