[英]Need to create a loop until last row, but only for certain ranges
Sub asd()
Sheets("Price calculator other regions").Range("E6").Value = Sheets("Sheet1").Range("B5")
Sheets("Price calculator other regions").Range("E25").Value = Sheets("Sheet1").Range("C5")
Sheets("Sheet1").Range("D5").Value = Sheets("Price calculator other regions").Range("E32")
End Sub
我需要值 B5、C5 和 D5 将下面一行(B6、C6、D6 等)移动到最后一行,但“价格计算器其他区域”上的值需要保持固定。
提前致谢
感谢您进行价值转移而不是复制/粘贴!
要完成循环,您只需要使用计数器变量(变量i
)子代相关行号。 要实现,请找到最后一行(由Sheet 1 Column B
确定),然后循环遍历您的行。
循环当前设置为从Sheet 1
的第 2 行开始。 如果需要从第 5 行开始,请将循环更改为For i = 5 to LR
Sub asd_v2()
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")
Dim ps As Worksheet: Set ps = ThisWorkbook.Sheets("Price calculator other regions")
Dim LR As Long, i As Long
LR = ws.Range("B" & ws.Rows.Count).End(xlUp).Row
For i = 2 To LR
ps.Range("E6").Value = ws.Range("B" & i).Value
ps.Range("E25").Value = ws.Range("C" & i).Value
ws.Range("D" & i).Value = ps.Range("E32").Value
Next i
End Sub
Dim r as range
set r = Sheets("Sheet1").Range("B5")
do 'start loop
with Sheets("Price calculator other regions")
.Range("E6").Value = r
.Range("E25").Value = r.offset(0,1)
r.offset(0,2) = .Range("E32")
set r = r.offset(1,0)
loop until r.row > r.parent.usedrange.rows.count
end with
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.