Excel:固定button位置

在Excel工作表上需要一些帮助附加Excel / VBAbutton。 我需要它保持在屏幕上的相同位置,无论我如何滚动或缩放。 最好,我需要在屏幕的左下angular或右下angular。

我曾尝试添加一个button。 然后,我右键单击button。 点击格式控制 – >属性 – >select不移动或使用单元格大小。 我错过了什么使这不工作?

谢谢!

我知道这个post是旧的,但这对任何人都可以是有用的。 ActiveWindow的VisibleRange属性可以解决这个问题。 使用这样的东西:

Private Sub Worksheet_SelectionChange(ByVal Target As Range) With ActiveSheet.OLEObjects("MY_BUTTON'S_NAME") .Top = ActiveWindow.VisibleRange.Top + ActiveWindow.VisibleRange.Height - 5 .Left = ActiveWindow.VisibleRange.Left + ActiveWindow.VisibleRange.Width - .Width - 5 End With End Sub 

这里是我今天早些时候提出的评论:)我们通常可以通过将Floating User Form的模态属性设置为0来获得一个Floating User Form ,这实际上是一个Modeless状态。

要考虑的基本点:

  • 看起来和感觉的forms,使其看起来像一个button(不显示标题栏/不可resize/隐藏closuresbutton等)
  • 设置button的位置
  • 哪个事件应该触发表单button(WorkBook打开)
  • 你会怎么做Form Initialize事件
  • 这个活动应该保持它活着的同一个位置

进一步考虑的要点:

  • 你可能只想保持这个button对你工作的工作簿是容易的,如果你打开另一个工作簿的实例,你是否还想保持button
  • 如果最小化Excel窗口实例,您将如何计划pipe理button的状态并使其可见

  • 发布关于保持显示表格甚至工作簿被最小化。

  • 另一个很好的参考,我发现,(技术有点),但值得一试 – 至less要了解可以使用的某些属性/方法:扩展VBA用户表单控件。

文章包括以下信息,请注意最后一行:)

它们使您可以访问VBA中不可用的function或组成VBA项目的对象(用户窗体,工作簿等)。 当您调用API时,您将绕过VBA并直接调用Windows。 这意味着你没有得到VBA通常提供的types检查等安全机制。 如果您将一个无效值传递给API或(一个非常常见的错误)使用ByRef参数而不是ByVal参数,您很可能会完全立即崩溃Excel,您将失去所有未保存的工作。 我build议,除非您确信您的API调用是稳​​定的,否则在调用API函数之前保存您的工作。