Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1906|回复: 4

[已解决]请教:如何用对象的方式批量修改Caption?

[复制链接]
发表于 2016-8-23 16:35 | 显示全部楼层 |阅读模式
走过路过,帮忙看看。代码如下:
  1. Private Sub CommandButton1_Click()

  2. Dim x As Object

  3. For Each x In ActiveSheet.Shapes
  4. MsgBox x.Name
  5. x.Caption = "标准"
  6. Next

  7. End Sub
复制代码
但是执行到 x.Caption = "标准"

提示不能用物件不支持此方法,该怎么弄?

万分感谢!
最佳答案
2016-8-23 17:35
Private Sub CommandButton1_Click()
    Dim x As Object
    For Each x In Me.OLEObjects
        x.Object.Caption = "标准"
    Next x
End Sub
发表于 2016-8-23 16:43 | 显示全部楼层
Private Sub CommandButton1_Click()
    Dim shp As Shape
    For Each shp In ActiveSheet.Shapes
        shp.TextFrame2.TextRange.Characters.Text = "标准"
    Next
End Sub



这样吗?
回复

使用道具 举报

 楼主| 发表于 2016-8-23 17:24 | 显示全部楼层
爱疯 发表于 2016-8-23 16:43
Private Sub CommandButton1_Click()
    Dim shp As Shape
    For Each shp In ActiveSheet.Shapes

感谢版主回复

是这个意思,就是要将本页中的按钮显示名称都改掉。

但是我按你的代码执行时,显示的是这个。

是我弄错了吗?

QQ截图20160823170217.jpg

CommandButtons.zip (14.24 KB, 下载次数: 4)
回复

使用道具 举报

发表于 2016-8-23 17:35 | 显示全部楼层    本楼为最佳答案   
Private Sub CommandButton1_Click()
    Dim x As Object
    For Each x In Me.OLEObjects
        x.Object.Caption = "标准"
    Next x
End Sub
回复

使用道具 举报

 楼主| 发表于 2016-8-23 17:54 | 显示全部楼层
感谢感谢,果然是高手
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 23:55 , Processed in 0.582009 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表