Excel VBA:如何将值粘贴到表的最后一行的第一个单元格中?

时间:2016-03-08 12:00:36

标签: excel vba excel-vba

这是我的第一篇文章,我是初学VBA程序员,所以请原谅新手问题。

我试图在表的第一列的最后一个单元格中粘贴一个值。到目前为止,我从未使用过表格,因为我刚刚使用了Rows.Count函数,所以上面很简单。以下是我到目前为止所尝试的内容:

Sub Add2_TAP_Tracker()

'\\ Add new line
ActiveSheet.ListObjects("Table4").ListRows.Add AlwaysInsert:=True

'\\ Paste Data in New Row
Range("TAP!$C$8").Copy
ActiveSheet.ListObjects("Table4").ListColumns(3).Range

'-->Something to select the last cell and past it...<--

任何帮助将不胜感激!

谢谢,

奥利

3 个答案:

答案 0 :(得分:0)

Sub Range_End_Method()
'Finds the last non-blank cell in a single row or column

Dim lRow As Long
Dim lCol As Long

'Find the last non-blank cell in column A(1)
lRow = Cells(Rows.Count, 1).End(xlUp).Row

'Find the last non-blank cell in row 1
lCol = Cells(1, Columns.Count).End(xlToLeft).Column

MsgBox "Last Row: " & lRow & vbNewLine & _
        "Last Column: " & lCol

End Sub

现在调整代码并添加粘贴代码..

来源:http://www.excelcampus.com/vba/find-last-row-column-cell/

答案 1 :(得分:0)

以下代码在表中创建一个新行,然后将数据添加到该行中的特定单元格。显然你改变了与你的桌子相匹配的列数。

Dim oNewRow As ListRow

  Set oNewRow = Worksheets("YourSheet").Range("TableName").ListObject.ListRows.Add(AlwaysInsert:=True)
    oNewRow.Range.Cells(1, 1).Value = 'Some data
    oNewRow.Range.Cells(1, 2).Value = 'Some data
    oNewRow.Range.Cells(1, 3).Value = 'Some data
    oNewRow.Range.Cells(1, 4).Value = 'Some data
    oNewRow.Range.Cells(1, 5).Value = 'Some data
    oNewRow.Range.Cells(1, 6).Value = 'Some data
    oNewRow.Range.Cells(1, 7).Value = 'Some data
    oNewRow.Range.Cells(1, 8).Value = 'Some data

答案 2 :(得分:0)

感谢您的回复,我今天早上破解了我想要做的事情。下次我将尝试使用Rows.Count方法,因为我认为我的方式有点长::

'\\Add New Line
Range("Table4[[#All],[Received]]").Select
Selection.End(xlDown).Select
Selection.ListObject.ListRows.Add AlwaysInsert:=True

'\\Select+Copy Target Data
Sheets("A Sheet").Select
Range("D8").Copy

'\\Paste Into Tracking Table
Sheets("Tracker").Select
Range("Table4[[#All],[Received]]").Select
Selection.End(xlDown).Select
Selection.Offset(1, 0).Select
Selection.PasteSpecial xlPasteValues