我有一个简单的宏,它使用字典来创建范围内数字的映射。我将其映射为唯一值,并且可以看到它如何创建出现频率的计数,但是我不知道如何将工作内存转移到工作表上?我只想将这些唯一的值打印在它们旁边,也许出现的频率就可以了。
Sub Frequency()
Dim dict As Object
Dim cl As Range, rng As Range
Set dict = CreateObject("Scripting.Dictionary")
Set rng = Range("A1:D7")
For Each cl In rng.Cells
dict(cl.Value) = dict(cl.Value) + 1
Next
'here is where I'd want it to paste into a new sheet so I can apply conditional formatting
End Sub
答案 0 :(得分:1)
您可以在此处底部添加几行
Sub Frequency()
Dim dict As Object
Dim cl As Range, rng As Range
Set dict = CreateObject("Scripting.Dictionary")
Set rng = Range("A1:D7")
For Each cl In rng.Cells
dict(cl.Value) = dict(cl.Value) + 1
Next
Dim ws As Worksheet
Set ws = Worksheets.Add
ws.Range("A1").Resize(dict.Count) = Application.Transpose(dict.keys)
ws.Range("B1").Resize(dict.Count) = Application.Transpose(dict.items)
End Sub