如何在同一个单元格中滑动文本或在Excel中重新排列?
我有一个工作表,我想改变文本在单元格中的位置,例如:
cell A | Cell B ---------------------------------------------- hd photo this is my | this is my hd photo ----------------------------------------------- pen this is my | this is my pen ------------------------------------------------ your name what is | what is your name
我有单元格A的值,并希望像单元格B的价值。 希望你能理解我的问题。 谢谢
尝试使用以下用户定义函数(UDF) :
Public Function rotate(s As String, Kount As Long) As String ary = Split(s, " ") ReDim bry(0 To UBound(ary)) j = 0 For i = Kount To UBound(ary) bry(j) = ary(i) j = j + 1 Next i For i = 0 To Kount - 1 bry(j) = ary(i) j = j + 1 Next i rotate = Join(bry, " ") End Function
例如:
第一个参数是包含原始文本的单元格,第二个参数是要移动到短语末尾的单词的数量。
用户定义的函数(UDF)非常易于安装和使用:
- ALT-F11调出VBE窗口
- ALT-I ALT-M打开一个新的模块
- 粘贴东西,closuresVBE窗口
如果保存工作簿,则UDF将随之保存。 如果您在2003年以后使用的是Excel版本,则必须将该文件另存为.xlsm
而不是.xlsx
要删除UDF:
- 如上所示调出VBE窗口
- 清除代码
- closuresVBE窗口
从Excel中使用UDF:
=rotate(A1,3)
要了解有关macros的更多信息,请参阅:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
和
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
有关UDF的具体信息,请参阅:
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
macros必须启用这个工作!