You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel VBA 产品主数据用户窗体ListBox关联工作表删除功能实现问题

VBA产品主数据窗体删除功能修复方案

现有代码问题

  • 未校验是否选中待删除条目,若未双击选择ListBox条目直接点删除按钮会触发运行错误
  • 删除行后未更新工作表A列的序号,后续新增、更新操作会出现序号错位

修复方案

直接替换你原来的btn_ProductMaster_Dlt_Click过程即可:

Private Sub btn_ProductMaster_Dlt_Click()
    ' 校验是否选中待删除条目
    If Me.txt_srno.Value = "" Or Not IsNumeric(Me.txt_srno.Value) Then
        MsgBox "请先双击选中ListBox中要删除的产品条目", vbCritical
        Exit Sub
    End If
    
    Dim sh As Worksheet
    Set sh = ThisWorkbook.Worksheets("Product_Master")
    Dim delRow As Integer
    delRow = Me.txt_srno.Value + 1 ' 匹配工作表行号,数据从第2行开始存储,A列序号从1开始计数
    
    ' 删除对应数据行
    sh.Rows(delRow).Delete
    
    ' 重新整理A列序号,避免后续操作序号错乱 *不需要自动对齐序号可以删除这段代码*
    Dim lr As Integer
    lr = Application.WorksheetFunction.CountA(sh.Range("A:A"))
    If lr > 1 Then
        Dim i As Integer
        For i = 2 To lr
            sh.Range("A" & i).Value = i - 1
        Next i
    End If
    
    ' 清空所有输入框
    Me.txt_srno.Value = ""
    Me.txt_id.Value = ""
    Me.txt_Product_Name.Value = ""
    Me.txt_Product_colour.Value = ""
    Me.txt_Purchase_Price.Value = ""
    
    MsgBox "产品已删除", vbInformation
    ' 刷新ListBox显示最新数据
    Call show_data
End Sub

使用说明

删除功能操作流程:

  1. 在ListBox列表中双击要删除的产品条目,对应数据会自动填充到上方输入框
  2. 点击删除按钮即可完成操作,列表会自动刷新显示最新的产品主数据

内容的提问来源于stack exchange,提问作者NAITIK JAIN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 05:06:01