vba - 当用户在 Excel 中向右滚动时移动形状(VBA)

标签 vba excel

我有一个 Excel 工作簿,Sheet1 上有两个形状,如下所示 enter image description here

我的要求是当用户向工作表右侧导航时,即向 headers24、header25 等导航时,我希望工作表上的两个形状随用户一起向右侧移动。

有人可以为此提出任何想法吗?

谢谢

最佳答案

试试这个..是的,很简单..

将此代码放置在形状所在的工作表模块中。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    With ActiveSheet.Shapes(1)

        .Left = ActiveWindow.VisibleRange(2, 2).Left
        .Top = ActiveWindow.VisibleRange(2, 2).Top

    End With

End Sub

坐标 (2, 2) 是您希望随着键盘滚动时形状固定的位置。

但是,在巨大的工作表上如果没有滚动条,工作会很烦人。所以我认为你可以使用刷新 ontime,将此代码放在模块中

Private eTime
Sub ScreenRefresh()
    With ThisWorkbook.Worksheets("Sheet1").Shapes(1)
        .Left = ThisWorkbook.Windows(1).VisibleRange(2, 2).Left
        .Top = ThisWorkbook.Windows(1).VisibleRange(2, 2).Top
    End With
End Sub

Sub StartTimedRefresh()
    Call ScreenRefresh
    eTime = Now + TimeValue("00:00:01")
    Application.OnTime eTime, "StartTimedRefresh"
End Sub

Sub StopTimer()
    Application.OnTime eTime, "StartTimedRefresh", , False
End Sub

Sheet1 中的以下代码(形状所在的位置)

Private Sub Worksheet_Activate()
    Call StartTimedRefresh
End Sub

Private Sub Worksheet_Deactivate()
    Call StopTimer
End Sub

关于vba - 当用户在 Excel 中向右滚动时移动形状(VBA),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37677537/

相关文章:

python - 加载前 100 行 excel

excel - 查找列中包含内容的最后一个单元格 -> 为什么我的代码版本出错?

excel - 文件或无文件

excel - 使用 RGB 值的颜色单元 "Error 13"

excel - 当 SQL Select 包含长度大于 100 的 nvarchar 列时,VBA 出现多步错误

vba - 以整数形式插入日期 (Excel)

excel - JAVA - 在 jxl 中写入 Excel 单元格时出现内存不足错误

excel - 如何从Excel调用VBA函数

python - 如何使用 win32com.client 通过 python 将 XLA 添加到 Excel 中?

excel - 将图表导出为图像有时会生成空文件