2

这似乎是一件简单的事情,但我无法弄清楚,或者在网上找到它。

如果我在一列中选择 5 个单元格(比如 A1:A5),并且我想将此选择形状(列 1:5)移动到(到 B1:B5);有捷径可以做到这一点吗?目前我点击了左箭头,选择框的大小变成了 B1,我必须点击 shift 并选择 B2:B5。理想情况下,我想找到一个“锁定”选择框形状的热键。

有同事建议写一个宏,但是很多情况下是无效的。例如,如果我想用一行或不同大小的形状做同样的事情,而不是一列,该怎么办。excel似乎内置了这个功能。

4

1 回答 1

0

我不确定宏如何无效。我会编写类似于下面的程序,然后将它们分配给热键。请让我知道这对你有没有用。

Option Explicit

Public rowDim As Long
Public colDim As Long
Public putSel as Boolean

Sub togglePutSel()

putSel = Not putSel

End Sub


Sub GetSelShape()

rowDim = Selection.Rows.Count
colDim = Selection.Columns.Count
putSel = True

End Sub

Sub PutSelShape()

Selection.Resize(rowDim, colDim).Select

End Sub

如果您想让它在您按下箭头键时工作,那么在您的工作表代码中,您可以使用它。您可能想快速检查一下,rowDim并且colDim不是 0。唯一的问题是,除非您创建触发器来停止调用,否则您将被这种行为所困扰PutSelShape。因此,我建议使用一个宏(热键为GetSelShape)来切换它,另一个热键为togglePutSel.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If putSel Then
  Call PutSelShape
End If

End Sub
于 2012-04-29T20:29:16.770 回答