|
|
原帖由 xiaofangsir 于 2010-6-6 17:35 发表 
太棒了,不知道有没有能像刚才这个倒推的方法没有,
就是将一个单元格内容分成几个单元格。收藏起来
当然可以。第一首推做法,当然是直接手工用文本分列来处理。
不过这样做是分为许多列的。
如过要分为行,那么函数是做不到了,只有vba,
推荐代码如下:
Sub W_List()
myWord = ActiveCell.Offset(0, -1)
N = Len(myWord)
s = InputBox("Start of the Word:", , 1)
If s = "" Then Exit Sub
'对话框输入起始数,之前的内容可被忽略。默认=1,即选择全部对象。
LW = InputBox("Length of the Word:", , 1)
If LW="" Then LW=1
'选择分离字长,默认=1
LB = InputBox("Length of the Blank:", , 0)
If LB="" Then LB=0
’选择分离时需要忽略的字长,如一个空格,或一个逗号是LB=1。默认=0,即不做忽略。
For i = s To N
L = Mid(myWord, i, LW)
ActiveCell = L
If LW Or LB > 0 Then i = i + LW - 1 + LB
If LW = 1 Then
ActiveCell.Resize(, 5).NumberFormatLocal = "@"
w = Asc(L)
If w < 0 Then w = 16 ^ 4 + w
ActiveCell.Offset(0, 1) = w
ActiveCell.Offset(0, 2) = DH(w)
w = AscW(L)
If w < 0 Then w = 16 ^ 4 + w
ActiveCell.Offset(0, 3) = w
If w > 10000 Then CW = CW & L & " & ChrW(" & w & ")"
ActiveCell.Offset(0, 4) = DH(w)
End If
ActiveCell.Offset(1, 0).Select
Next i
'选择拆分字长为1时,本宏过程还将给出改文字的双位码等信息。
'ActiveCell.Resize(, 5).EntireColumn.AutoFit
'ActiveCell = "CW=" & CW
On Error Resume Next
ActiveCell.End(xlUp).Select
End Sub
具体的作用,还是自己体会一下吧。
上面的宏是以定字长来拆分的,如果需要按特定字符来拆分,还需要改进。 |
|