在表的末尾添加行,对新表范围进行排序,用户输入在第一列中,其余部分向下复制

时间:2019-02-13 08:40:10

标签: excel vba

我有一个现有表,并且当用户输入名称(TextBox1.Value)时,我需要在表的末尾输入新行(我的表在B10(标题)到F16的范围内)。将要插入的名称放在表格的第一列中,然后擅长使用此添加的行按字母顺序对表格进行排序,最后从上方一行中复制该列其余部分的公式。

非常感谢您的帮助,谢谢!

到目前为止,我所拥有的不能很好地工作...插入的数据出现在错误的位置。

Public Sub InsertRowAndSort()

Dim NewName As String
Dim lPosition As Long
Dim rFundList As Range

NewName = TextBox1.Value

Set rFundList = ThisWorkbook.Sheets("Table").Range("B11:B16") 

On Error Resume Next
lPosition = Application.WorksheetFunction.Match(NewName, rFundList, 1)

On Error GoTo 0 
Rows(lPosition + 1).Insert
ThisWorkbook.Sheets("Table").Range("B" & lPosition + 1).Value = NewName

Unload Me
End Sub

1 个答案:

答案 0 :(得分:0)

您可以简单地使用此行而不是整个代码:

ThisWorkbook.Sheets("Table").Range("B" & ThisWorkbook.Sheets("Table").Cells(Rows.Count, "B").End(xlUp).row + 1).value = Me.TextBox1.value

enter image description here