仅供参考-我是个非常新手。
我想制作一个看起来像星星而不是正方形的复选框。我希望星星以白色为标准,然后单击一下即可变成黄色。再次单击,它将恢复为白色。就这么简单。
我正在考虑采用不同的方法来实现相同的结果,但是不幸的是,我没有使其中任何一个都具备的技能。
首先,我想我将创建一个复选框表单,并以某种方式能够将正方形更改为星形符号。我的Google搜索在这条路上没有给我任何帮助-也许我不够准确,但是却找不到任何东西。
第二,我的想法是只创建一个黄色星形符号,并使其可以通过函数单击,这只是我不知道该怎么做。
答案 0 :(得分:4)
我使用了两张图片作为标签的背景(用于click事件)
您可以用自己的图像替换这些图像。然后,将图像的大小设置为相同且位置相同,以使它们彼此重叠,并且FilledStar
至False
的可见属性默认为True
的{{1}}
我的用户表单后面的代码是:
EmptyStar
然后给出以下输出:
另一种选择是让一个图像包含两个图像,并移动图像的位置,以便一次只显示其中的一部分。就正确移动/调整图像大小而言,这有点复杂,但这意味着您仅使用一个对象而不是两个。
答案 1 :(得分:3)
这是一个示例,说明如何在每个工作表上使用单个Star。
在工作表上放置一个星形,将其填充颜色设置为白色,然后将以下代码粘贴到标准vba模块中。 现在,通过右键单击形状并选择“分配宏”,将“ ColorChangeShape”宏分配给星形。
Sub ColorChangeShape()
ShpCol = ActiveSheet.Shapes.Range(Array("5-Point Star 1")).Fill.ForeColor.RGB
If ShpCol = RGB(255, 255, 0) Then
ShpCol = RGB(255, 255, 255)
Else
ShpCol = RGB(255, 255, 0)
End If
ActiveSheet.Shapes.Range(Array("5-Point Star 1")).Fill.ForeColor.RGB = ShpCol
End Sub