2014-06-21 87 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)) 
相关问题