即使在" itemwidth"偏移后,Vba也会采用原始​​选择。

时间:2015-12-03 21:54:11

标签: excel vba excel-vba offset

我正在构建一个宏,它找到一个标题,然后将它偏移1行,我希望将值填充到整个列。但是当我运行宏时,将偏移量的值更改为Required,但是一旦它到达Selection.filldown,它就会在偏移值的位置复制标头。而且如果找不到选择,我也无法弄清楚如何跳过。任何人都可以帮忙解决这个问题吗?

Sub Macro7()
Rows("3:3").Select
Selection.Find(What:="item_width").Select
Selection.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "1"
Selection.FillDown
End Sub

1 个答案:

答案 0 :(得分:2)

正如Christmas007所说,删除.select.activate

    Sub Macro7()
    Dim rng As Range
    Dim rws As Long
    rws = Range("A" & Rows.Count).End(xlUp).Row - 2
    Set rng = Rows("3:3").Find(What:="item_width")
    If Not rng Is Nothing Then
        rng.Offset(1, 0).FormulaR1C1 = "1"
        rng.Offset(1, 0).Resize(rws).FillDown
    End If
End Sub

你填充的方式也是如此,因为它只有一个单元格,它直接填充了上面的单元格。要填充范围,您需要指定范围范围。以上是一种方式。