在'One Cell'Excel VBA上放置'两个命令按钮'VBA

问题描述:

在该链接上,将一个命令按钮放置在一个特定单元上是非常好的解决方案。 Place a command button in a cell MS Excel vba在'One Cell'Excel VBA上放置'两个命令按钮'VBA

但是如果我们想在一个单元上添加两个不同的按钮呢?

例如CommandButton1应该粘在F3单元的左侧,而CommandButton2应该粘到F3单元的右侧。 (所以F3的左半部分将是CommandButton1,另一半的单元格F3将是CommandButton2)

谢谢。

+0

按照您链接的答案中的步骤进行操作,并将左侧按钮设置为单元格宽度除以2即可。 .Width =(rng.Width)/ 2。如果你添加这个和左边的buttons.left值,那么它是右边的.left值。 – Stax

+0

我已经在发布之后发现了一个答案,并且将其添加为每个人的答案。但是谢谢你对@Stax的兴趣 – Mertinc

有趣的是,我自己发布问题后找到了答案。我将其分享给正在寻找相同解决方案的其他人。

Sub mertinc() 

    Dim rng As Range 
    Set rng = ActiveSheet.Range("g1") 

    soldan = Columns("g").Left 
    genislik = Columns("g").Width 
    hedefim= (soldan + genislik/2) 

    With ActiveSheet.OLEObjects("CommandButton1") 
     .Top = rng.Top 
     .Left = rng.Left 
     .Width = rng.Width/2 
     .Height = rng.RowHeight 
    End With 
     With ActiveSheet.OLEObjects("CommandButton2") 
     .Top = rng.Top 
     .Left = hedefim 
     .Width = rng.Width/2 
     .Height = rng.RowHeight 
    End With 

End Sub 

首先我调整第一个按钮为单元的宽度的一半:.Width = rng.Width/2并与放置于电池的Left的属性:.Left = rng.Left

在那之后我再调整的第二个按钮作为电池的一半宽度与:.Width = rng.Width/2,然后我它放置到细胞的Left PROPERT +半的它的宽度与.Left = hedefim
==> hedefim已经如上soldan +与genislik描述:

soldan = Columns("g").Left 
    genislik = Columns("g").Width 
    hedefim= (soldan + genislik/2)