有关使用Offset - VBA的查询

时间:2014-10-15 21:50:05

标签: vba

我为命令按钮编写了一个代码,用于复制来自工作表1的特定单元格的特定数据,并粘贴到工作表2的特定单元格中。 下次我运行代码时,我希望将值放在我之前在表2中使用的下一行

我必须在代码中进行哪些更改才能实现它

Private Sub CommandButton1_Click()

text = Sheets(1).Range("B15")
Sheets(2).Range("B2").Value = Left(text, 4)
Sheets(2).Range("E2").Value = Right(text, 20)

text = Sheets(1).Range("C15")
Sheets(2).Range("C2").Value = text

text = Sheets(1).Range("B10")
Sheets(2).Range("G2").Value = text

text = Sheets(1).Range("B27")
Sheets(2).Range("H2").Value = text

text = Sheets(1).Range("B11")
Sheets(2).Range("J2").Value = text

text = Sheets(1).Range("B20")
Sheets(2).Range("K2").Value = text

text = Sheets(1).Range("D9")
Sheets(2).Range("L2").Value = text

End Sub

1 个答案:

答案 0 :(得分:0)

Private Sub CommandButton1_Click()

    Dim c as Range
    'assuming each row on sheet2 has a value in columnB...
    Set c = Sheets(2).Cells(Rows.Count,"B").End(xlUp).Offset(1,0)

    With c.EntireRow

        text = Sheets(1).Range("B15")
        .Cells(1,"B").Value = Left(text, 4)
        .Cells(1,"E").Value = Right(text, 20)
        .Cells(1,"C").Value = Sheets(1).Range("C15").Value
        .Cells(1,"G").Value = Sheets(1).Range("B10").Value
        .Cells(1,"H").Value = Sheets(1).Range("B27").Value
        .Cells(1,"J").Value = Sheets(1).Range("B11").Value
        .Cells(1,"K").Value = Sheets(1).Range("B20").Value
        .Cells(1,"L").Value = Sheets(1).Range("D9").Value

    End With

End Sub