创建excel宏以格式化XLS文件中的数据

时间:2017-03-30 15:21:03

标签: excel vba formatting xls

我正在创建一个宏来清理某些软件输出到XLS中的一些原始数据,并使其更具可读性和可过滤性等。

数据采用以下方式格式化(大约25k行的格式与此相同: Example of data format

我希望它看起来像 this: (Manually made as an example)

我希望stackoverflow的向导能够帮助我!

感谢。

1 个答案:

答案 0 :(得分:1)

假设您的数据位于第一张表格中,请创建第二张表格,然后以下内容应该有效:

Option Explicit

Sub cleanUpData()
  Dim sht2 As Worksheet: Set sht2 = Sheets(2)

  Dim r As Integer, r2 As Integer: r2 = 2
  With Sheets(1):
    sht2.Range("A1:J1").Value = .Range("A1:J1").Value
    For r = 2 To .Cells(.Rows.Count, "A").End(xlUp).row Step 5:
      sht2.Range("A" & r2 & ":J" & r2).Value = .Range("A" & r & ":J" & r).Value
      sht2.Cells(r2, "J").Value = .Cells(r + 1, "A").Value & " " & .Cells(r + 1, "B").Value
      r2 = r2 + 1
    Next
  End With

  sht2.Columns("A:J").EntireColumn.AutoFit

End Sub