rjps.net
当前位置:首页 >> ExCEl中用vBA删除特定字符后面的所有内容 >>

ExCEl中用vBA删除特定字符后面的所有内容

按Ctrl+H,查找内容输入 组*,替换为 输入 组,点击 全部替换.

Sub Macro1() A = InputBox("请输入需要删除包含的某特定字符", "输入框", v) j = Trim(InputBox("请输入需要选择的列号", "输入框", 1)) For k = j To j For i = 1 To 65535 Sheets(1).Cells(i, k).Select If Len(Sheets(1).Cells(i, k).Value

如图,要删除包含"abc"的行(或者反过来,保留包含"abc"的行,其他删除) 第1步,按Ctrl+F,查找abc,点【查找全部】后在结果框按Ctrl+A.如果要删除包含abc的行,则:关闭查找替换对话框,然后右键单击第1步选中的单元格之一,删除,整行. 要保留包含"abc"的行,则按以下步骤继续: 第2步,关闭查找替换对话框,按下CTRL+9,将第1步选中的单元格所在的行隐藏. 第3步,按F5键,定位”可见单元格“. 第4步,在第3步选中的单元格区域右键单击→删除,整行. 第5步,单击”全选“按钮,右键→取消隐藏.

不用vba只用公式也可以.如原数据在b8,在c8输入公式:=mid(b8,3,100) 下拉填充.好吧,既然你非要vba,你可以这样改:选中后,只删除前面两个字符sub aa()for each c in selectionc.value = right(c.value, len(c.value) - 2)nextend sub选中后只

一般用replace就行了,或者也可以配合find或者mid来用,复杂的规则就要用正则表达式了.

可以使用分列功能或是left和find函数做到. 使用分列功能:将需要删掉字符的列放在最后一列(选择这一列,右键→剪切→在最后一列的右边点击右键→插入剪切的单元格)选中需要删掉字符的列点击工具栏中的数据→分列在弹出的窗口中选

这个确实是只删除右侧的两个字符.我不知道为啥你运行会删了前和后的.想要删除左侧两个字符,第三行改成c.Value = Right(c.Value, Len(c.Value) - 2)两边都删就是c.Value = Mid( c.Value, 2, Len(c.Value) - 4)

Sub 删除字符()arr = [c2:h20]Set regex = CreateObject("VBScript.RegExp")regex.Global = Trueregex.Pattern = "[,.@#$%&]+"For i = 1 To UBound(arr) For j = 1 To UBound(arr, 2) arr(i, j) = regex.Replace(arr(i, j), "/") NextNext[c2:h20] = arrEnd Sub

请问“删除始”和“删除止”这几个字也要删除吗?

为了验证你的问题特意去看了看,是这样,清除全部是selection.clear,会把单元格恢复到原始的状态,即锁定状态,所以在你保护的表上当然无法编辑了,我能想到的方法1,禁止菜单的“清除”菜单项(disable),或者干脆删掉这个项.具体可以参考下commandbar的对象属性及方法方法2,用onchange事件,在工作表中添加这个事件,当有内容被改变可以检查下是否有单元格被锁定,锁定的解锁之onclear这种事件是没有的.有问题的话可继续提问,望采纳

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.rjps.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com