自动填充范围到最后使用的行
Posted
技术标签:
【中文标题】自动填充范围到最后使用的行【英文标题】:Auto-fill Range to Last Row Used 【发布时间】:2021-03-02 20:58:31 【问题描述】:我在单元格 G1 中有 0,需要自动填充 0 直到最后使用的行。
在下面的代码中,0 会更新到第 30 行,而我的行只填充到第 4 行。
我希望只有在相邻行中有数据时才填充 0。
NumberConv 是我工作簿中的 Sheet2。
Sub MacroNC
Sheets("NumberConv").Select
Range("G1").Select
Selection.NumberFormat = "@"
ActiveCell.FormulaR1C1 = "0"
Sheet2.Select
Range("G1").Select
lastRow = ActiveSheet.UsedRange.Rows.Count
Selection.AutoFill Destination:=Range("G1:G" & lastRow), Type:=xlFillCopy
End Sub
【问题讨论】:
.NumberFormat = "@"
的任何具体原因?
【参考方案1】:
UsedRange
is unreliable;使用End(xlUp)
查找最后一行。
无需AutoFill
,您可以应用NumberFormat
并将Value
写入整个范围。
No Need to Select
.
Sub MacroNC
With Sheet2
Dim lastRow As Long
lastRow = .Cells(.Rows.Count, "F").End(xlUp).Row
.Range("G1:G" & lastRow).NumberFormat = "@"
.Range("G1:G" & lastRow).Value = 0
End With
End Sub
旁注:不清楚为什么需要将零存储为文本。
【讨论】:
谢谢@BigBen,你这个人。我需要它作为文本,因为我将数据传输到的系统出于某种原因需要它作为文本:/ 我想这可能是原因......好吧,我很抱歉你不得不使用这样一个愚蠢的系统。以上是关于自动填充范围到最后使用的行的主要内容,如果未能解决你的问题,请参考以下文章