ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: hymjtc

[求助] 根据条件设置单元格为空

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-23 12:59 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
mykitami 发表于 2024-10-23 12:26
=LET(a,DROP(REDUCE("",E2:E315,LAMBDA(x,y,VSTACK(x,--TEXTSPLIT(y,{"还剩","盒"},,1)))),1),b,FILTER(TAK ...

老师,提示我FILTER函数无效,是我的版本太低吗,哪个版本的支持呢

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-23 13:03 | 显示全部楼层
江声依旧 发表于 2024-10-23 12:02
刚才的搞错了。更新

谢谢老师,辛苦了,可能是我的表述有问题吧,我是想让E列里剩余数量为零的时候,在E列包含那个批号的所有单元格清空,不知道能不能实现

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-23 13:06 | 显示全部楼层
edwin11891 发表于 2024-10-23 10:52
EXCEL的话用下面的公式,原公式里面的REGEXP函数为WPS独有,不适用于EXCEL。

老师,谢谢您,辛苦了,我把公式输进去,提示我FILTER函数不可用,可能是我的版本有问题,需要什么版本支持啊,如果用VBA怎么弄呀,不知道能不能实现这样的结果

TA的精华主题

TA的得分主题

发表于 2024-10-23 15:43 | 显示全部楼层
hymjtc 发表于 2024-10-23 12:59
老师,提示我FILTER函数无效,是我的版本太低吗,哪个版本的支持呢

新版wps
M365

TA的精华主题

TA的得分主题

发表于 2024-10-23 16:47 | 显示全部楼层
清楚原数据可以vba,公式的话在另外空白区域填写
  1. =FILTER(A1:E315,DROP(REDUCE("",B1:B315,LAMBDA(x,y,VSTACK(x,OR(ISNUMBER(FIND(y&"还剩0盒",E1:E315)))<>TRUE))),1))
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-23 16:51 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
华尔街操盘手 发表于 2024-10-23 16:47
清楚原数据可以vba,公式的话在另外空白区域填写

老师,能帮我写一下VBA代码吗,因为公式我的版本低,不能用,拜托您了,非常感谢

TA的精华主题

TA的得分主题

发表于 2024-10-23 19:03 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
hymjtc 发表于 2024-10-23 16:51
老师,能帮我写一下VBA代码吗,因为公式我的版本低,不能用,拜托您了,非常感谢

VBA会用吗,alt+f11打开,插入模块,复制粘贴以下代码
  1. Sub DeleteRowsWithZeroBoxes()
  2.     Dim ws As Worksheet
  3.     Set ws = ThisWorkbook.Sheets("Sheet1") ' 修改为你的工作表名称
  4.     Dim lastRow As Long
  5.     lastRow = ws.Cells(ws.Rows.count, "B").End(xlUp).Row
  6.    
  7.     Dim i As Long
  8.     Dim batchNumber As String
  9.     Dim searchString As String
  10.     Dim foundCell As Range
  11.    
  12.     ' 从最后一行开始向上遍历,以避免在删除行时影响未检查的行
  13.     For i = 1 To lastRow Step 1
  14.         batchNumber = ws.Cells(i, "B").Value
  15.         searchString = batchNumber & "还剩0盒"
  16.         
  17.         ' 在D列中查找拼接后的字符串
  18.         Set foundCell = ws.Columns("E").Find(What:=searchString, LookIn:=xlValues, LookAt:=xlWhole)
  19.         
  20.         ' 如果找到了,删除整行
  21.         If Not foundCell Is Nothing Then
  22.             ws.Rows(i).Delete
  23.             i = i - 1
  24.         End If
  25.     Next i
  26. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2024-10-23 20:03 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
123.rar (35.32 KB, 下载次数: 1)

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-24 12:42 | 显示全部楼层
华尔街操盘手 发表于 2024-10-23 19:03
VBA会用吗,alt+f11打开,插入模块,复制粘贴以下代码

老师,谢谢您,辛苦了,就是类似的效果,只是,我想的是让E列里达到条件的时候,清空E列的单元格内容,不是删除所有行,您能在帮我改一下么,拜托了

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-24 12:45 | 显示全部楼层
华尔街操盘手 发表于 2024-10-23 19:03
VBA会用吗,alt+f11打开,插入模块,复制粘贴以下代码

VBA我会操作,但是不会写编码,所以,只能拜托老师了,先谢过了
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-22 09:13 , Processed in 0.049975 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表