excel高手,如何使用函数或者vba一个单元格的内容分割到几个单元格中?

如题所述

基础操作中的“分列”应该可以实现你的需求

如果想要VBA,可以对分列的操作进行“宏录制”

下图步骤参考,如有问题请详述。


温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-26
function My(Rng as string,Str as string)
dim Arr as variant
arr=split(Rng,str)
my=arr
end function
公式=my(单元格,"分隔符号")
这是一个数组来的,对公式使用F9可得出来追问

如果A1的内容是 asd#sd45#fgt, 然后在B1中输入=My(A1,1)就会得到asd吗?然后输入=My(A1,2)就会得到sd45吗?或者在B1中输入一个公式,然后向右拖就能得到公式的吗?

追答

公式应该=index(my(a1,"#"),row(a1))
学过数组吗??这是数组来的

把分列用在VBA上面一样是可以
例如某个工作表A1=12345#1235#123
Sub My()
With ActiveSheet
.Range("A1").TextToColumns Destination:=.[A1], DataType:=xlDelimited, _
other:=True, otherchar:="#"
End With
End Sub
'F5运行代码

本回答被提问者采纳
第2个回答  2012-12-26
选中要分割的单元格,或整列。用“数据”里面的数据工具中的“分列”,用#作为“分隔符号”。
注意分割单元格的右面不要有内容,否则会被覆盖;如有,先插入足够的空列。
第3个回答  2012-12-26
如果每个单元格的格式、位数、字数都相同的话,可以使用“数据-分列”来完成。(2007版EXCEL)
第4个回答  2012-12-26
把哪个单元格内的什么样的内容,按照什么规律,分割到哪些单元格?
请说明清楚!追问

都是以 # 这个符号为分割的

追答

分列法:
选中分割的整列---数据---分列---(分隔符号)---下一步--分割符号 点"其他" 输入#---下一步--完成。
公式法:
假设文本 a#de#dr#112# 在 A1单元格
B1公式右拉即可!
=TRIM(MID(SUBSTITUTE($A1,"#",REPT(" ",99)),COLUMN(A1)*99-98,99))
B1公式下拉的话
=TRIM(MID(SUBSTITUTE($A1,"#",REPT(" ",99)),row(A1)*99-98,99))

追问

公式有些复杂了,能解释一下吗?还有,我觉得复杂的东西还不如用vba来实现,以后下次直接调用vba就行了,不用自己再输入复杂的公式了,那么用vba如何实现呢?

追答

不推荐使用VBA 直接用分列法即可!

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网