废话少说,先看效果图:
用Excel软件制作可视化的标签云
功能说明:选取任意两列数据,第一列为标签,第二列为数值;可以选择任意行;

点击创建按扭后,自动创建标签云,字体越大,代表价格越高;
用字体大小来展现价格高低,换个角度看世界!
1、开发工具选项卡---Visual Basic ----插入模块,写入代码;
Sub createCloud()
'这个程序创建一个基于列表格式标签云,标签的重要性
'标签的重要性可以是任何值,它将被归一化到8和20之间的值
On Error GoTo tackle_this
Dim size As Integer
size = Selection.Count / 2
Dim tags() As String
Dim importance()
ReDim tags(1 To size) As String
ReDim importance(1 To size)
Dim minImp As Integer
Dim maxImp As Integer
cntr = 1
i = 1
For Each cell In Excel.Selection
If cntr Mod 2 = 1 Then
taglist = taglist & cell.Value & \", \"
tags(i) = cell.Value
Else
importance(i) = Val(cell.Value)
If importance(i) > maxImp Then
maxImp = importance(i)
End If
If importance(i) < minImp Then
minImp = importance(i)
End If
i = i + 1
End If
cntr = cntr + 1
Next cell
' 在单元格E10粘贴值
Range(\"e26\").Select
ActiveCell.Value = taglist
ActiveCell.Font.size = 8
strt = 1
For i = 1 To size
With ActiveCell.Characters(Start:=strt, Length:=Len(tags(i))).Font
.size = 6 + Math.Round((importance(i) - minImp) / (maxImp - minImp) 14, 0)
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
strt = strt + Len(tags(i)) + 2
Next i
Exit Sub
tackle_this:
MsgBox \"你需要选择一个表,我可以创建一个标签云\", vbCritical + vbOKOnly, \"哇,好像有个错误!
\"
End Sub
写入代码
2、插入命令按钮,关联到宏:createCloud,大功告成!
插入命令按钮,关联到宏
结语:用字体大小来展现价格高低,换个角度看世界!小伙伴们,你学会了吗?如果你觉得本文对你有帮助或启发,请点赞并分享给更多小伙伴吧!