Excel:数据透视的数据处理 – 从单列提取到多个

我有一个值列表,我需要格式化处理和数据的格式不适合它的当前forms。

这些值目前采用以下格式:

有太多的logging要手动尝试。 使用公式或VBA来实现stream程自动化的最佳方法是什么?

编辑:C3:C4中的值出现在工作表中的每个logging集。 下面的单元格数量可以从1到3,000不等。

谢谢你的帮助。

编辑:添你已经是一个巨大的帮助,我大量赞赏它 – 编辑版本不工作,虽然由于某种原因。 无论如何,我对它进行了非常基本的修改,以便循环回去,并清空那些我不想标记的单元格值。 再次感谢。

Sub Tester() Const STATUS_FLAG As String = "status code:*" Dim v1, v2 Dim c As Range Dim sht As Worksheet Set sht = ActiveSheet Application.ScreenUpdating = False For Each c In sht.Range(sht.Range("C1"), sht.Cells(Rows.Count, 3).End(xlUp)) If c.Value Like STATUS_FLAG Then v1 = c.Offset(-2, 0) v2 = c.Offset(-1, 0) ElseIf c.Value Like "http:*" Then c.Offset(0, -2).Value = v1 c.Offset(0, -1).Value = v2 End If If c.Value Like STATUS_FLAG Then c.Offset(-2, -2).Value = "" c.Offset(-2, -1).Value = "" c.Offset(-1, -2).Value = "" c.Offset(-1, -1).Value = "" End If Next c Application.ScreenUpdating = True End Sub 

编辑:不要填写旁边的“源”path(v1,v2)

 Sub Tester() Const STATUS_FLAG As String = "Status code:*" Dim v1, v2 Dim c As Range Dim sht As Worksheet Set sht = ActiveSheet Application.ScreenUpdating = False For Each c In sht.Range(sht.Range("C1"), sht.Cells(Rows.Count, 3).End(xlUp)) If Len(c.Value)=0 Then 'reset on blank row v1="" v2="" ElseIf c.Value Like STATUS_FLAG Then v1 = c.Offset(-2, 0) v2 = c.Offset(-1, 0) ElseIf c.Value Like "http:*" and Len(v1)>0 Then c.Offset(0, -2).Value = v1 c.Offset(0, -1).Value = v2 End If Next c Application.ScreenUpdating = True End Sub