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

如何通过InputBox根据单元格末尾数值规则删除Excel对应行

你当前代码中声明的AskNum变量未绑定InputBox输入逻辑,所以不会触发用户询问窗口,调整后的完整代码如下:

Sub DeleteRowsWithLastValue()
    Dim i As Long
    Dim LastRow As Long
    Dim AskNum As Variant
    Dim inputStr As String
    
    ' 弹出输入框获取用户指定的末尾匹配值
    inputStr = InputBox("请输入要保留的B列单元格末尾数字:", "删除行规则配置")
    
    ' 处理用户取消或空输入的情况
    If inputStr = "" Then
        MsgBox "已取消操作", vbInformation
        Exit Sub
    End If
    
    ' 校验输入是否为0-9的单个数字
    If Not IsNumeric(inputStr) Or Len(inputStr) > 1 Or CInt(inputStr) < 0 Or CInt(inputStr) > 9 Then
        MsgBox "请输入0-9之间的单个数字", vbExclamation
        Exit Sub
    End If
    AskNum = CInt(inputStr)
    
    LastRow = Cells(Rows.Count, 2).End(xlUp).Row
    
    For i = LastRow To 6 Step -1
        ' 替换固定匹配值为用户输入的数值
        If Right(ActiveSheet.Range("B" & i), 1) <> CStr(AskNum) Then
            Rows(i).Delete
        End If
    Next i
    
    MsgBox "操作完成,已保留所有B列末尾为" & AskNum & "的行", vbInformation
End Sub

主要调整说明

  • 新增InputBox调用逻辑,支持用户自定义要匹配的末尾数字规则
  • 增加输入合法性校验,避免非数字、超出0-9范围的输入引发程序报错
  • 兼容用户点击取消的场景,不会出现异常运行问题
  • 操作完成后增加结果提示,方便确认执行状态

如果你的需求是删除末尾等于输入值的行,把判断条件里的<>改成=即可。

内容的提问来源于stack exchange,提问作者Muneeb Hussain

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 22:00:00