EXCEL VBA删除单元格部分内容

B4=ERTET#134#GB5=FGFSD#13#4G用VBA,先删除“#”代码中输入1,表示保留第1个字符,结果是B4=EB5=F代码中输入2,表示保留第2个字符,结... B4=ERTET#134#G
B5=FGFSD#13#4G
用VBA,先删除“#”
代码中输入1,表示保留第1个字符,结果是B4=E B5=F
代码中输入2,表示保留第2个字符,结果是B4=R B5=G
展开
 我来答
caoyidiego
推荐于2016-04-20 · TA获得超过1286个赞
知道大有可为答主
回答量:1937
采纳率:0%
帮助的人:1403万
展开全部
Sub Macro1()
'替换#为空
Cells.Replace What:="#", Replacement:="", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
'替换#为空

a = InputBox("保留几位:")
Cells(4, 2) = Mid(Cells(4, 2), 1, a)
Cells(5, 2) = Mid(Cells(5, 2), 1, a)
End Sub

先删除#有意义吗,都保护一位数了,#就已经不包括在保留的范围内了。
更多追问追答
追问
Cells(4, 2) = Mid(Cells(4, 2), 1, a)
Cells(5, 2) = Mid(Cells(5, 2), 1, a)
可不可以修改成(B4:B5)像这样的区域
追答
这不能改的,两个单元格的内容不一样,改了就乱了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
blacklswhj
2014-09-05 · 超过33用户采纳过TA的回答
知道答主
回答量:195
采纳率:0%
帮助的人:94.3万
展开全部
'B1 填原始数据ERTET#134#G
'C1 用于存去#之后的数据
'F1 记录要保留字符的值,赋值给n
'D1是最终的结果
Range("C1") = Replace(Range("B1").Value, "#", "", 1)
n = Range("F1").Value
Range("D1").Value = Left(Range("C1").Value, n)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
世界喜欢不一样
2014-09-05 · TA获得超过2372个赞
知道大有可为答主
回答量:1546
采纳率:50%
帮助的人:634万
展开全部
先选中需要替换的单元格,然后运行下面的代码。
Sub Macro1()
Dim ans As Integer
Dim rng As Range
Selection.Replace What:="#", Replacement:=""
ans = Application.InputBox("数字:", Default:=1, Type:=1)
If ans = False Then Exit Sub
For Each rng In Selection
rng = Left(rng, ans)
Next
End Sub
追问
代码中输入2,表示保留第2个字符,结果是B4=R    B5=G
给出删除区域(不要手动选取),先删除“#”,再保留结果
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ringreason
2014-09-05 · TA获得超过241个赞
知道小有建树答主
回答量:372
采纳率:100%
帮助的人:147万
展开全部
我表示。。。函数不也可以解决么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式