我正在将按钮插入到我的excel程序中。我想做两件事:首先遍历范围内的每一行,并使一列中的单元格(I)等于另一列(H);其次,我希望第一列(H)重新计算。
我已经能够使它工作一行,但是我一直在努力使其遍历整个范围,并且需要一些帮助。
Sub Button3_Click()
Worksheets("data").Range("i17").Value = Worksheets("data").Range("h17").Value
Range("h17").Calculate
End Sub
我正在寻找一种实现上述目的的方法,但是要考虑范围(i17:列的结尾)。 :-/
答案 0 :(得分:0)
使用以下命令复制值。
Worksheets("data").Range("i17").Resize(n,1).Value = _
Worksheets("data").Range("h17").Resize(n,1).Value
其中n
是受影响的行数。
然后您可以使用重新计算
Worksheets("data").Range("h17").Resize(n,1).Calculate
另外要找到n
,请使用以下内容
Dim r as Range, n as Long
Set r = Worksheets("data").Range("h17")
n = r.Worksheet.Range(r, r.End(xlDown)).Rows.Count
r.Offset(0,1).Resize(n,1).Value = r.Resize(n,1)
r.Resize(n,1).Calculate
答案 1 :(得分:-1)
下面的代码将在H列中找到最后一行数据,并将使用范围内的所有值设置为等于H列,然后重新计算。
Sub Button3_Click()
With worksheets("data")
Dim lr as Long
lr = .Cells(.Rows.Count,"H").End(xlUp).Row
With .Range("I17:I" & lr)
.value = .offset(,-1).Value
.calculate
End With
End Sub