问题1解决了,不过敏感性还是没有解决 Private Sub cmd3_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) '按钮在b5:f18区间移动,先向右移动,然后向下移动 Range("b5:f18").RowHeight = cmd3.Height If cmd3.Top >= Range("f16").Top And cmd3.Left >= Range("f16").Left Then cmd3.Left = Range("b5").Left cmd3.Top = Range("b5").Top Else If cmd3.Left >= Range("f5").Left Then cmd3.Left = Range("b7").Left cmd3.Top = cmd3.Top + cmd3.Height Else cmd3.Left = cmd3.Left + Range("b2").Width End If End If End Sub 总结:对象在excel中的位置取决于top和left属性 相对于a1,a1的坐标(0,0),其中:left代表横坐标,即相对于A列的位置。top代表纵坐标,即相对于第一行的位置 大家如果有什么疑问,可以测试每个单元格的坐标,测试如下: Sub test() MsgBox "单元格A1的坐标为:(" & Range("a1").Left & "," & Range("a1").Top & ")" _ & Chr(13) & "单元格b1的坐标为:(" & Range("b1").Left & "," & Range("b1").Top & ")" _ & Chr(13) & "单元格c3的坐标为:(" & Range("c3").Left & "," & Range("c3").Top & ")" End Sub
|