excel - 如果有超链接,则可以更改形状颜色

标签 excel vba

我希望创建一个 VBA 函数来更改形状的颜色(如果附加了超链接)。

不确定这是否有帮助:

ActiveSheet.Shapes.Hyperlink.Fill.ForeColor.RGB = vbBlue

...

"IF(Shape contains hyperlink)
    Change shape color to blue
Else
    No change" 

最佳答案

更改形状的颜色

Sub ChangeShapesColor()

    Dim ws As Worksheet: Set ws = ActiveSheet ' improve!
    
    Application.ScreenUpdating = False
    
    Dim shp As Shape
    Dim hl As Hyperlink
    
    For Each shp In ws.Shapes
        
        On Error Resume Next
            Set hl = shp.Hyperlink
        On Error GoTo 0
        'Debug.Print shp.Name, Not hl Is Nothing
        
        If Not hl Is Nothing Then
            shp.Fill.ForeColor.RGB = vbYellow ' RGB(255, 255, 0)
            Set hl = Nothing
        End If
        
    Next shp
    
    Application.ScreenUpdating = True
    
    MsgBox "Shapes' color changed.", vbInformation
    
End Sub

关于excel - 如果有超链接,则可以更改形状颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72088100/

相关文章:

vba - #const 和 const 有什么区别?

excel - 匹配/索引/Vlookup 公式

excel - 调试发现错误 91 与 intersect(target, [range variable]).value

Excel 2007 - 根据文本生成唯一ID?

html - Excel VB 在网页上搜索文本并在同一元素中复制信息

c++ - (Mac) 将字符串参数从 VBA 传递到 dylib - 在 C++ 函数中接收到空字符串

python - Pandas 到 Excel(合并标题列)

excel - 为 Excel 格式添加括号创建公式

excel - VBA 项目资源管理器仍然显示由宏关闭的 Excel 工作簿

internet-explorer - 使用 VBA 通过窗口标题获取 IE 窗口对象