excel vba 删除单元格删除A列最后11个单元的内容

(一)疑难 55
如何批量合并相同内容的单元格?_Excel技巧网_传送门
你是真实用户吗(Are you a robot)?
我们怀疑你不是真实用户,已对你的访问做了限制。如果您是真实用户,非常抱歉我们的误判对您造成的影响,您可以通过QQ()或电子邮件()反馈给我们,并在邮件和QQ请求信息里注明您的IP地址:220.177.198.53,我们会尽快恢复您的正常访问权限。另外,如果您不是在访问的当前页面,我们建议您移步
或者 在浏览器中输入以下地址:http://chuansong.me/n/141923 访问,您所访问的网站是从抓取的数据,请直接访问,会有更好的体验和更及时的更新。We suspect you are a robot.We are really sorry if you are not,and you can email us () with your current IP address: 220.177.198.53 to get full access to .If you are not accessing
for the current page,you'd better visit
for better performance,as the current website you are accessing is just spam.excel删除数字保留文本的两种方法
我的图书馆
excel删除数字保留文本的两种方法
excel删除数字方法一:
  Excel工作表中删除数字只保留文本,是一个比较常见的例子。
  如下图所示,A列的源数据有一些数字,而且这些数字在单元格中的位置是无序不固定的。如何删除数字,达到的效果如C列所示。
  在excel中数字与文字共存的情况下,如果有规律,可以使用公式来分离字母、汉字、数字;如果没有规律,比较理想的还是是用VBA来解决。
  下面是具体的excel删除数字操作步骤:
  按ALT+F11,打开VBE编辑器,单击插入——模块,复制下面的代码,然后按F5键运行,excel会自动将A列所有的内容删除数字之后的结果提取放在C列。
Sub excel删除数字()& Dim reg As Object '定义reg为一个对象& Dim arr '定义一个动态数组& Dim i As Long, j As Long '分别定义i,j为长整型& i = Range("A65536").End(xlUp).Row '把A列非空的最后行数赋予给i& Columns("C").ClearContents '清空C列& arr = Range("A1:A" & i) '把A列的数据赋予给数组arr& Set reg = CreateObject("VBscript.RegExp") '调用正则表达式& With reg '定义表达式&&& .Global = True '匹配所有搜索项&&& .ignorecase = True '不区分大小写&&& .Pattern = "[0-9]" '数字的表达式& End With& For j = 1 To i '循环该区域&&&& Range("C" & j) = reg.Replace(arr(j, 1), "") '进行根据模板替换字符串为空值& NextEnd Sub
excel删除数字方法二:WORD替换法
  将excel所有需要删除数字的单元格区域内容复制到word文档中,在查找替换框中输入:^#,替换框保留空,不输入任何内容,单击“全部替换”。替换完毕,将数据再次复制到excel中。
发表评论:
馆藏&19515
TA的最新馆藏查看: 986|回复: 6
点“删除”按钮,就删除A列最后一行
阅读权限20
在线时间 小时
我想要点“删除”按钮,就删除A列最后一行。请问如何实现。谢谢
未命名.jpg (51.22 KB, 下载次数: 0)
19:04 上传
(15.26 KB, 下载次数: 7)
19:04 上传
点击文件名下载附件
阅读权限10
在线时间 小时
Sub DelRang()
&&ActiveSheet.Range(&A65535&).End(xlUp).Delete
阅读权限10
在线时间 小时
& & & & & & & &
Sub DelRow()
&&ActiveSheet.Range(&A65535&).End(xlUp).EntireRow.Delete
删除最后一行的代码
阅读权限20
在线时间 小时
llqpojie 发表于
Sub DelRow()
&&ActiveSheet.Range(&A65535&).End(xlUp).EntireRow.Delete
太好了 非常感谢
阅读权限20
在线时间 小时
llqpojie 发表于
Sub DelRow()
&&ActiveSheet.Range(&A65535&).End(xlUp).EntireRow.Delete
我仔细看了一下,你写的是删除整个最后一行,我想要删除的是A列最后一行,准确的说法是将A列最后一行有字符串的改成空单元格。请问怎么实现?
阅读权限95
在线时间 小时
range(&a& & ActiveSheet.Range(&A65535&).End(xlUp).row)=&&
阅读权限10
在线时间 小时
Sub DelRang()
&&ActiveSheet.Range(&A65535&).End(xlUp).Delete
删除A列最后个格子
最新热点 /1
ExcelHome每周都有线上直播公开课,
国内一流讲师真身分享,高手贴身答疑,
赶不上直播还能看录像,
关键居然是免费的!
厚木哥们都已经这么努力了,
你还好意思说学不好Office。
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师查看: 481|回复: 11
如何删除单元格内容排列相反的单元格?
阅读权限10
在线时间 小时
删除内容排列相反的单元格。
比如说A列数据中有 “太原-无锡-泉州”和“泉州-无锡-太原”,则保留二者中的一个就行;但是,如果线路是“上海-黄冈-武汉”和“武汉-上海-黄冈”则保留两个线路,请问一下如何利用VBA实现所需要的效果?
(7.83 KB, 下载次数: 0)
16:24 上传
16:30 上传
点击文件名下载附件
8.26 KB, 下载次数: 11
阅读权限95
在线时间 小时
& & Set d = CreateObject(&Scripting.Dictionary&)
& & ar = Range(&A1&).CurrentRegion
& & For i = 2 To UBound(ar)
& && &&&d(ar(i, 1)) = &&
& & For Each k In d.keys
& && &&&s = Split(k, &-&)
& && &&&For x = UBound(s) To LBound(s) Step -1
& && && && &a = a & &-& & s(x)
& && &&&Next
& && &&&If Not d.exists(Mid(a, 2)) Then
& && && && &w = w & &,& & k
& && &&&Else
& && && && &If InStr(w, Mid(a, 2)) = 0 Then w = w & &,& & k
& && &&&End If
& && &&&a = &&
& & p = Split(Mid(w, 2), &,&)
& & [c2].Resize(UBound(p) + 1) = Application.Transpose(p)
阅读权限95
在线时间 小时
此题目在字典中直接用 Remove 移去已有反向关键字竟不成功,只好用其他方法实现。
请大神高手看看,能否直接在字典中实现。
附件还是上传不了,一整天了,怎么回事?
代码写在sheet1代码页中。
阅读权限95
在线时间 小时
另一种解法(数组):
& & Set d = CreateObject(&Scripting.Dictionary&)
& & ar = Range(&A1&).CurrentRegion
& & For i = 2 To UBound(ar)
& && &&&d(ar(i, 1)) = &&
& & sa = d.keys
& & For i = 0 To UBound(sa)
& && &&&If sa(i) && && Then
& && && && &s = Split(sa(i), &-&)
& && && && &For x = UBound(s) To LBound(s) Step -1
& && && && && & a = a & &-& & s(x)
& && && && &Next
& && && && &For j = i + 1 To UBound(sa)
& && && && && & If sa(j) = Mid(a, 2) Then: sa(j) = &&: Exit For
& && && && &Next
& && && && &a = &&
& && &&&End If
& & For i = 0 To UBound(sa)
& && &&&If sa(i) && && Then: m = m + 1: sa(m - 1) = sa(i)
& & [c2].Resize(m) = Application.Transpose(sa)
阅读权限95
在线时间 小时
本帖最后由 lsc900707 于
21:58 编辑
另一种解法(数组):
大侠,附件我帮你上传吧&&&&&&&&&&
21:58 上传
点击文件名下载附件
17.25 KB, 下载次数: 3
阅读权限95
在线时间 小时
& & & & & & & &
这个题目很难吗?...................................................................................................
阅读权限95
在线时间 小时
这个题目很难吗?.................................................................................... ...
题目很简单,在工作表中循环就可实现。
是说为何在字典中直接用 Remove 移去已有反向关键字不行。
试过,结果连正向、反向关键字都移除了。
阅读权限20
在线时间 小时
Sub 删除相同线路()
Dim regex As New RegExp, mat, Va, Vaa, rngss As Variant, rng As Range, rngs As Variant, a, b, n%, nn%
With Sheet1
Set rng = .Range(&A2:A& & Cells(Rows.Count, 1).End(xlUp).Row)
n = .Cells(Rows.Count, 1).End(xlUp).Row
For Each rngs In rng
With regex
& & .Global = True
& & .Pattern = &[\u4e00-\u9fa5]+&
& & Set mat = .Execute(rngs)
& & For Each Va In mat
&&Vaa = Va & &-& & Vaa
a = Left(Vaa, Len(Vaa) - 1)
& & For nn = n To 2 Step -1
& && &&&If .Cells(nn, 1) = a Then
& && && && &.Range(&A& & nn).Delete
& && && && &End If
& & Vaa = &&
前提条件开起正则表达式。在工具中-引用,然后找到Microsoft VBScript Regular Expressions 5.5 勾上
阅读权限30
在线时间 小时
题目很简单,在工作表中循环就可实现。
是说为何在字典中直接用 Remove 移去已有反向关键字不行。
我试了,只用下面一句,其余的不用
& && &&&If D.exists(Mid(a, 2)) Then D.Remove (K)
'& && && && &w = w & &,& & k
'& && &&&Else
'& && && && &If InStr(w, Mid(a, 2)) = 0 Then w = w & &,& & k
'& && &&&End If
[C2].Resize(D.Count) = Application.Transpose(D.KEYS)   '最后写稿单元格
得到的结果是以下不同的(反向相同),其他的相同,按说也应该是符合要求的吧?
蚌埠-太原& & & &    太原-蚌埠
北京-上海& & & &    上海-北京
哈尔滨-杭州& & & & 杭州-哈尔滨
杭州靖江-温州& & & & 温州-杭州靖江
昆明-长沙& & & &    长沙-昆明
南通-兴东机场& & & & 兴东机场-南通
太原-无锡-泉州& & & & 泉州-无锡-太原
万州-重庆& & & &    重庆-万州
阅读权限10
在线时间 小时
& & Set d = CreateObject(&Scripting.Dictionary&)
& & ar = Range(&A1&).CurrentRegion
非常感谢!
最新热点 /1
ExcelHome每周都有线上直播公开课,
国内一流讲师真身分享,高手贴身答疑,
赶不上直播还能看录像,
关键居然是免费的!
厚木哥们都已经这么努力了,
你还好意思说学不好Office。
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师}

我要回帖

更多关于 vba删除空白单元格 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信