首页 > 解决方案 > Vba Excel使用用户窗体从表中删除一行

问题描述

我创建了一个用户表单,允许用户创建新行(行)或更改这些行中的值。但是现在我正在尝试为用户添加选项以从表中删除该行并且仅从表中删除。含义:我不想删除 excel 表中的整行,我只想删除表格列中的部分。

它会是这样的:用户输入变量,代码在表中找到变量并因此识别行,之后整行(表内)被删除。

我现在的代码是这样的:

'To Remove

mid2:

Dim NE2 As Integer
Dim numNE2 As String



Sheets("Máquinas").Select
LastNE2 = Application.ThisWorkbook.Worksheets("Máquinas").Range("A1000").End(xlUp).Row

For NE2 = 3 To LastNE2
numNE2 = Cells(NE2, 1)


If Box1 = "" Then
MsgBox "Equipment Number Missing."
GoTo fimv
ElseIf Box1 = numNE2 Then
GoTo jumpNE2
End If

If NE2 = LastNE2 Then
MsgBox "Equipment number non existent"
GoTo fimv
End If

Next NE2

jumpNE2:


Dim tbl As ListObject

Set tbl = ActiveSheet.ListObjects("Tabela2")

tbl.ListRows(NE2).Delete

如果我在最后一行更改该 NE 为一个数字,它可以工作但是我不知道每次用户选择更改某些内容时的数字是多少。该数字在变量 NE2 内。

编辑:已解决。

添加了一个长名为 NEX 的变量,然后声明 NEX=NE-2 之后使用 tbl.ListRows(NEX).Delete 中的 NEX ,现在它完全可以工作了!谢谢您的帮助

标签: excelvba

解决方案


推荐阅读