这个for循环该如何写?

ynumiengZHANGYAMING 2008-08-03 08:04:39
我在sheet1工作表的A1:A10单元格中分别输入"aa12rr4"、"ss345jh"、"cv325mm"等数据,这些数据是数字与字符相混杂的.我要在B1:B10单元格中只显示A1:A10相对应单元格数据中的字符,如A1是"aa12rr4",B1只显示"aarr".请问,这个for循环该如何写?
...全文
93 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lelige 2008-08-06
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ynumiengZHANGYAMING 的回复:]
我试过,还是不行.B1:B10不能显示相应的数据.
[/Quote]
那就是你的使用方法有问题了,我把代码贴上来前在本机测试过的。

似乎我忘了说,你应该先把A1-A20的内容复制到B1-B20,然后再运行这个宏。
  • 打赏
  • 举报
回复
我试过,还是不行.B1:B10不能显示相应的数据.
lelige 2008-08-05
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ynumiengZHANGYAMING 的回复:]
请问:这只能求出一个单元格的值,其他单元格的值该如何求?在外面再嵌套一层的循环语句该如何写?谢谢!
[/Quote]
我把上面的代码稍稍改了一下,加了外层的循环,你看看能不能用。
第一行的B1-B20是要处理的区域。
Sub test()
Range("B1:B20").Select
For Each objCell In Application.Selection
tempStr = ""
For i = 1 To Len(objCell.Value)
If IsNumeric(Mid(objCell.Value, i, 1)) = False Then
tempStr = tempStr & Mid(objCell.Value, i, 1)
End If
Next
objCell.Value = tempStr
Next
End Sub
evilboy_huang 2008-08-04
  • 打赏
  • 举报
回复
Sub test()
Dim i As Integer
Dim tempStr As String
For i = 1 To Len(Range("J6").Value)
If IsNumeric(Mid(Range("J6").Value, i, 1)) = False Then
tempStr = tempStr & Mid(Range("J6").Value, i, 1)
End If
Next
Range("K6").Value = tempStr
End Sub


外面再嵌套一层就可以循环写其它单元格了
evilboy_huang 2008-08-04
  • 打赏
  • 举报
回复
用递归来判断每一个字符是否数字即可,for i=1 to len()
  • 打赏
  • 举报
回复
请问:这只能求出一个单元格的值,其他单元格的值该如何求?在外面再嵌套一层的循环语句该如何写?谢谢!
ccssddnnhelp 2008-08-03
  • 打赏
  • 举报
回复

用replace就行了,甚至仅用函数就行了。不过可能没VBA快

能把问题提清楚不是件容易的事.

上传MDB文件 www.access911.net/csdn (请勿使用RAR,最好是mdb)



加入QQ群 46057031 或 64021637 晚19:00 - 24:00在线.
==== ====

.
贴子分数<20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧