Excel VBA-将文本块分解为可用部分

Excel VBA-将文本块分解为可用部分,excel,vba,Excel,Vba,我第一次遇到一个无法通过互联网搜索解决的excel问题:( 从我们的工作数据库系统中,我可以导出一个类似于以下格式的文本字符串。它基本上是对工作状态的一系列更改。我想将其分解,以便记录每个步骤所花的时间。因此,我需要将状态和状态更改的日期分开 我将每一秒的状态更改都加粗,以便“更容易”阅读 有人有什么想法吗 处理(2018年5月21日上午11:54:30-Joe博客)处理 越南修复(2018年5月21日上午8:47:33-Joe博客)越南修复 处理(2018年5月16日上午8:20:53-乔博客

我第一次遇到一个无法通过互联网搜索解决的excel问题:(

从我们的工作数据库系统中,我可以导出一个类似于以下格式的文本字符串。它基本上是对工作状态的一系列更改。我想将其分解,以便记录每个步骤所花的时间。因此,我需要将状态和状态更改的日期分开

我将每一秒的状态更改都加粗,以便“更容易”阅读

有人有什么想法吗

处理(2018年5月21日上午11:54:30-Joe博客)处理 越南修复(2018年5月21日上午8:47:33-Joe博客)越南修复 处理(2018年5月16日上午8:20:53-乔博客)处理 越南修复(15/5/2018 12:07:23 PM-Joe博客)越南修复 处理(2018年5月14日上午11:30:45-Joe博客)处理 街上印刷的萨弗信(2018年5月10日上午8:46:54-jane.doe.jnr) 越南起草(2018年9月5日下午2:49:33-Joe博客)处理 处理(2018年9月5日上午11:15:18-Joe博客)处理 Str.Suff.信件打印(2018年7月5日下午2:55:43-jane.doe.jnr) 越南版图(2018年7月5日下午3:06:32-Joe博客)越南版图 Str.Suff.信件印刷(2018年7月5日上午11:22:18-乔博客) 确认邮件(2018年7月5日-Joe博客) 处理(2018年7月5日上午11:21:10-Joe博客)处理
新增(2018年7月5日上午11:20:52-Joe博客)

文本到列并粘贴转置

您可以记录以下步骤来制作vba脚本或自己编写:

  • 选择包含数据的单元格
  • 单击“文本”以创建列
  • 选择“分隔的”
  • 点击下一步
  • 勾选“其他”并在文本框中输入一个右括号(strong>)
  • 单击“完成”
  • 突出显示行并复制
  • 选择另一个单元格并进行转置粘贴
  • 选择包含转置数据的列
  • 单击“文本”以创建列
  • 选择“分隔的”
  • 点击下一步
  • 勾选“其他”并在文本框中输入一个空括号(
  • 单击“完成”
  • 选择包含日期和时间信息的新创建列
  • 单击“文本”以创建列
  • 选择“分隔的”
  • 点击下一步
  • 勾选“其他”并在文本框中输入连字符-
  • 单击“完成”
  • 现在,您将有三列,分别包含作业、日期/时间和名称

    为方便您添加的是上面的VBA代码,我已编辑录制的脚本以删除所有单元格选择

    要使脚本正常工作,您的数据需要位于单元格A1中,并且该行将在以下过程中删除:

    Sub SplitData()
    
    Range("A1").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
        :=")", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, _
        1), Array(6, 1), Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12 _
        , 1), Array(13, 1), Array(14, 1), Array(15, 1)), TrailingMinusNumbers:=True
    
    Rows("1:1").Copy
    Range("A2").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    
    Rows("1:1").Delete Shift:=xlUp
    
    Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
        :="(", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
    
    Columns("B:B").TextToColumns Destination:=Range("B1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
        :="-", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
    
    Columns("B:B").EntireColumn.AutoFit
    
    End Sub
    

    所以我没有为我的网站写代码。可以给你一个开始的提示:user
    aLines=Split(ExportedText),Processing(“)
    和processalines数组。