VBA-基于单元格值插入星形

VBA-基于单元格值插入星形,vba,excel,Vba,Excel,我想将星形形状插入电子表格中包含特定值(例如“Y”)的单元格中。 我希望这是一个分配给按钮的宏 有人能帮忙吗?甚至不知道从哪里开始。 通过我在互联网上的搜索,我只能知道如何添加随机放置在电子表格中的形状 谢谢 这只是一个让您开始学习的示例。您必须调整它以满足您的特定需求。守则: Sub KoverTheYs() Dim T As Long, L As Long, W As Long, H As Long Dim r As Range, shp As Shape For E

我想将星形形状插入电子表格中包含特定值(例如“Y”)的单元格中。 我希望这是一个分配给按钮的宏

有人能帮忙吗?甚至不知道从哪里开始。 通过我在互联网上的搜索,我只能知道如何添加随机放置在电子表格中的形状


谢谢

这只是一个让您开始学习的示例。您必须调整它以满足您的特定需求。守则:

Sub KoverTheYs()
    Dim T As Long, L As Long, W As Long, H As Long
    Dim r As Range, shp As Shape
    For Each r In ActiveSheet.UsedRange
        If r.Value = "Y" Then
            L = r.Left
            T = r.Top
            W = r.Width
            H = r.Height
            Set shp = ActiveSheet.Shapes.AddShape(92, 100, 20, 60, 60)
            shp.Top = T
            shp.Left = L
            shp.Width = W
            shp.Height = H
        End If
    Next r
End Sub
之前:

及之后:

注意:

  • 我不是在处理任何按钮的东西-你将不得不代码添加按钮,并将其链接到明星画家
  • 我不是在谈论恒星的确切颜色和形状

这只是一个让您开始学习的示例。您必须调整它以满足您的特定需求。守则:

Sub KoverTheYs()
    Dim T As Long, L As Long, W As Long, H As Long
    Dim r As Range, shp As Shape
    For Each r In ActiveSheet.UsedRange
        If r.Value = "Y" Then
            L = r.Left
            T = r.Top
            W = r.Width
            H = r.Height
            Set shp = ActiveSheet.Shapes.AddShape(92, 100, 20, 60, 60)
            shp.Top = T
            shp.Left = L
            shp.Width = W
            shp.Height = H
        End If
    Next r
End Sub
之前:

及之后:

注意:

  • 我不是在处理任何按钮的东西-你将不得不代码添加按钮,并将其链接到明星画家
  • 我不是在谈论恒星的确切颜色和形状

您是否希望星形(aShape)覆盖单元格中的基本值???@Gary的学生-是的,我希望它位于包含“Y”值的单元格上方。我知道它不是VBA,但如果您的情况下Y是一个数值,则可以通过条件格式轻松完成。当值Y为真时,您需要一个条件使星形图标显示,然后使用第二个条件使textcolor在值Y时变为白色。如果Y是文本字符串,则VBA是您的方式,下面的答案很好!你希望星形(aShape)覆盖单元格中的基本值吗???@Gary的学生-是的,我希望它位于包含“Y”值的单元格上方。我知道它不是VBA,但如果你的情况下Y是一个数值,那么可以通过条件格式轻松完成。当值Y为真时,您需要一个条件使星形图标显示,然后使用第二个条件使textcolor在值Y时变为白色。如果Y是文本字符串,则VBA是您的方式,下面的答案很好!