【发布时间】:2016-02-16 22:46:18
【问题描述】:
背景: 我需要帮助调整我之前通过复制粘贴编写的代码。该函数的目标是在单击目标单元格时以指定格式添加新行。
这是通过以下代码实现的[仅摘录]:
Private Sub worksheet_selectionchange(ByVal target As Range)
If Not Intersect(target, Range("G6")) Is Nothing Then
Rows("7:7").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("B7:F7").Select
With Selection.Font
.ColorIndex = xlAutomatic
.TintAndShade = 0
End With
到目前为止,它也可以正常工作。但是现在我想再次将此功能添加到同一个选项卡以用于另一个单元格范围。我现在遇到的问题是,由于相关行是垂直堆叠的,所以每当我通过原始函数添加一行时,第二个例程中定义的范围现在不再起作用。
我的问题: 我可以动态定义 Intersect 方法的范围吗?我的想法会有点笨拙,比如让第二种方法引用一个变量而不是由第一个例程自动更改的固定单元格(MyRange)(例如 MyRange = MyRange + 1)。我该怎么做?或者还有其他方法可以实现我想做的吗?
【问题讨论】: