我在一列中有一个歌曲标题列表,旁边的列包含该歌曲播放的次数。我想在单独的列中订购播放计数,并在旁边显示歌曲的标题。这是我的excel表格的样子:
Title | Play Count
------------ | -------------
title 1 | 2
title 2 | 1
title 3 |
title 4 | 3
请注意,播放计数列中尚未播放的标题为空白。这就是我想要它的样子。
Title | Play Count
------------ | -------------
title 4 | 3
title 1 | 2
title 2 | 1
title 3 |
我希望此信息显示在新列中,以便原始列表和播放计数列保持不变。所以我不希望在数据透视表中完成此操作。优选地,它仅返回前20个左右的歌曲标题,但这不是必需的。这个名单大约有250首歌曲。
答案 0 :(得分:0)
你可以试试这个:
Option Explicit
Sub main()
Dim dataCols As Range
Dim columnsStrng As String
columnsStrng = "C:D" '<--| change "C:D" with your actual "Title" and "Play Count" columns indexes (they must be contiguous columns)
With Worksheets("MySongs") '<--| change "MySongs" with your actual sheet name
Set dataCols = .Range(columnsStrng).Resize(.Cells(.Rows.Count, .Range(columnsStrng).columns(1).Column).End(xlUp).row)
With dataCols.Offset(, .UsedRange.columns.Count)
.Value = dataCols.Value
.Sort key1:=.columns(2), Header:=xlYes
End With
End With
End Sub