2014-06-21 85 views
1

以下代碼正常工作。不過,我需要從列中的特定行開始粘貼數據。根據代碼,我可以將數據粘貼到'C'列中,但是如果我想從'C5'開始粘貼,例如我如何更改編碼?謝謝您的幫助。在Excel VBA中打印特定單元格中的數據

Private Sub CommandButton1_Click() 


    Dim sh As Worksheet 
    Dim rData As Range, rCell As Range, rFrom As Range, rTo As Range 
    Dim lRightCol As Long 
    Dim ass As Integer 

    ass = 4 

    With ActiveSheet 
     lRightCol = .Range("C3").Column 
     Set rData = .Range(.Range("A3"), .Range("D" & .Rows.Count).End(xlUp)) 
     For Each rCell In rData 
      Set sh = Nothing 
      On Error Resume Next 
      Set sh = Worksheets(rCell.Value) 
      On Error GoTo 0 
      If Not sh Is Nothing Then 
       Set rFrom = rCell.Resize(1, lRightCol) 
       With sh 
        Set rTo = .Range("C" & .Rows.Count).End(xlUp).Offset(1).Resize(1, lRightCol) 
       End With 
       rFrom.Copy rTo 
      End If 
     Next rCell 
    End With 


End Sub 

我試圖將代碼更改爲以下但沒有工作。

Set rTo = .Range("C5" & .Rows.Count).End(xlUp).Offset(1).Resize(1, lRightCol) 
+0

'設置rTo = .Range(「C5」)' –

+0

@simoco那麼只有系列中的第一個數據點纔會被複制。因爲你正在刪除End(xlUp)...... – user3762389

+0

真的嗎?你試過了嗎? –

回答

1

正如我在評論中提到的。你可以使用:

Set rTo = .Range("C" & Application.Max(5,.Cells(.Rows.Count,"C").End(xlUp).Row + 1)) 
相關問題