首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Word VBA代码将数字从一列中剪切并粘贴到另一列中

Word VBA代码将数字从一列中剪切并粘贴到另一列中
EN

Stack Overflow用户
提问于 2013-08-29 10:42:40
回答 1查看 492关注 0票数 0

我正在寻找一些代码,可以通过单元格搜索表格第二列中的数字和小数点,将它们剪切并粘贴到左边的单元格中,同时留下文本。

例如:

    • 1(制表符空间)测试

    • 1.1(制表符空间)测试

    • 1.1.1(制表符空间)测试

    • 1.1.1.1(制表符空间)测试

其中,项目点代表不同列中的单独单元格。

在所有情况下,数字都由制表符"Chr9“(如示例中所示)与文本分隔。

任何帮助或有用的代码片段将不胜感激!

编辑:我有一些代码可以扫描列中的每个单元格,但我不知道是什么代码告诉它只将数字和小数点切到第一个制表符空间。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-29 13:47:05

Split函数提供您所追求的目标。样本代码:

代码语言:javascript
复制
Dim inputString As String
Dim splitArray() As String
Dim result As String

inputString = "1 Test"
splitArray = Split(inputString, " ")

If(UBound(splitArray) >= 1) Then 'Making sure that it found something before using it
    result = splitArray(1) 'Text
End If

inputString = "1.1 Test"
splitArray = Split(inputString, " ")

If(UBound(splitArray) >= 1) Then
    result = splitArray(1) 'Text
End If
'etc.

更新

提供所需功能的代码:

代码语言:javascript
复制
  Dim splitArray() As String
  Dim curTable As Table
  Set curTable = ActiveDocument.Tables(1)
  For Row = 1 To curTable.Rows.Count
     With curTable
        splitArray = Split(.Cell(Row, 2).Range.Text, " ")

        If (UBound(splitArray) >= 1) Then 
           .Cell(Row, 2).Range.Text = splitArray(1)
           .Cell(Row, 1).Range.Text = splitArray(0)
        End If
     End With
  Next Row
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18508783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档