我做了一个button,点击时开始执行一个宏,但是在宏里需要使用到button上的名字。有一个语句:if sheets(3).cells(1,1).value=button上的名字,这个该怎么做啊????

解决方案 »

  1.   

    if ... = sheets(3).button.caption then
      

  2.   

    我刚刚试过了,还是不能用,我会在sheet1种添加很多个button,改变他们的名字,点击她们指向同一个宏,在那个宏里面会对我所点击的button进行识别(通过他们的名字),选择处理的模版的。所以,大虾,请在给我点帮助,万分感谢!!!
      

  3.   

    可以给公共函数加个参数,然后每个 Button 分配不同的函数,在这些函数中调用公共函数并且传递不同的区分作为参数。
      

  4.   

    然后每个 Button 分配不同的函数-》然后每个 Button 分配不同的参数值
      

  5.   

    Tiger_Zhao大侠:
    可以给我邮箱发邮件吗?我写邮件给你.
    上班,不容易上网.万分感谢.
      

  6.   

    真的不好意思,刚刚回家来做这个东西了,公司上网不方便。我的QQ号码是:83563749,我想把我做好的东西发给你,大概只有一点地方需要修改了。非常感谢Tiger_Zhao,来苏州我请你吃饭。哈哈!
      

  7.   

    If Sheets("zhan").Cells(i, 1).Value = Sheets(3).button.Caption Then
    这一句一直出现错误啊!!!
      

  8.   

    你要用具体的 Sheet 名和控件名进行代替,比如 Sheet3.Command1.Caption
      

  9.   

    但是我的程序会自动做很多的控件,(多少个我也不知道),然后,我不知道那个Command1,应该找什么代码区代替。
    我用一下的程序一次插入了一个BUTTON,我会插入很多个,个数不知道
    Application.CommandBars("Forms").Visible = True
    ActiveSheet.Buttons.add(258.75, 115.5, 105.75, 43.5).Select
    Selection.OnAction = "Macro2"
    ActiveSheet.Shapes("Button " & x).Select
    Selection.Characters.Text = add1.TextBox3.Value宏2的代码是:
    Load startfunction2
    For i = 2 To 1000
    If Sheets("zhan").Cells(i, 1).Value = Sheets(1).button.  then  特别是这一行,识别我点击的Button指向那个地方的,老是出错。
    startfunction2.TextBox1.Value = Sheets(3).Cells(i, 2).Value
    startfunction2.TextBox2.Value = Sheets(3).Cells(i, 3).Value
    startfunction2.TextBox3.Value = Sheets(3).Cells(i, 4).Value
    startfunction2.TextBox4.Value = Sheets(3).Cells(i, 5).Value
    GoTo jiawen7
    End If
    Next
    jiawen7:
    startfunction2.Show
    头大了!给您添麻烦了!
      

  10.   

    If Sheets("zhan").Cells(i, 1).Value = Sheets(1).button.Caption  then貌似你少写个caption
      

  11.   

    ActiveSheet.Buttons.add(258.75, 115.5, 105.75, 43.5).Select 
    Debug.Print Selection.Caption 
    Selection.OnAction = "Macro2"
    在立即窗口看上面的输出文本,然后将判断部分直接用字符串常量代替。
    If Sheets("zhan").Cells(i, 1).Value = "Button99"  then  
      

  12.   

    把以下过程指定宏给你需要的按钮,然后看看效果。Sub test()
        MsgBox Application.Caller
    End Sub
      

  13.   

    谢谢各位可爱的热心人啊!按照Tiger_Zhao大哥的指导,我感觉到胜利的曙光了!谢谢各位大哥们的指导!!!
      

  14.   

    Application.Caller
    那位大哥,请问一下Application.Caller的值怎么才可以得到啊?不用MsgBox,我想把那个值给sign