无法过滤,输出和缩短此数据

时间:2017-08-03 02:50:52

标签: excel excel-vba vba

enter image description here 大脑融化了。我知道Stackoverflow不做免费编码,但我仍然坚持如何开始。我尝试使用VBA脚本从左侧过滤并输出数据,看起来像右侧的数据。关于如何实现这一目标的任何建议?

1 个答案:

答案 0 :(得分:0)

这可能会让你开始:

Sub mergeCategoryValues()
  Dim lngRow As Long

  With ActiveSheet
      Dim columnToMatch As Integer: columnToMatch = 2
      Dim columnToConcatenate As Integer: columnToConcatenate = 4
      Dim columnToSum As Integer: columnToSum = 5

      lngRow = .Cells(65536, columnToMatch).End(xlUp).Row
      .Cells(columnToMatch).CurrentRegion.Sort key1:=.Cells(columnToMatch), Header:=xlYes

      Do
          If .Cells(lngRow, columnToMatch) = .Cells(lngRow - 1, columnToMatch) Then
              .Cells(lngRow - 1, columnToConcatenate) = .Cells(lngRow - 1, columnToConcatenate) & .Cells(lngRow, columnToConcatenate)
              .Cells(lngRow - 1, columnToSum) = .Cells(lngRow - 1, columnToSum) + .Cells(lngRow, columnToSum)
              .Rows(lngRow).Delete
          End If

          lngRow = lngRow - 1
      Loop Until lngRow = 1
  End With
End Sub

它改编自此代码:Excel VBA - Combine rows with duplicate values in one cell and merge values in other cell
您需要弄清楚的是删除第一列并使变量更具动态性。如果这有帮助,请告诉我。