如何从动态起点填写选择?
Posted
技术标签:
【中文标题】如何从动态起点填写选择?【英文标题】:How can I fill down a selection from dynamic starting point? 【发布时间】:2021-02-23 01:15:37 【问题描述】:我有以下代码来选择 A 到 E 列中的数据作为起点将是动态的。
ActiveSheet.Columns("A:E").SpecialCells(xlCellTypeConstants, 23).Select
然后我怎样才能将此数据填写到 F 列的长度?
电子表格示例。
选择的起点并不总是从第 2 行开始。
例如,数据可能如下所示。
【问题讨论】:
【参考方案1】:将“Sheet1”重命名为您的数据所在的工作表名称
Set ws = ThisWorkbook.Worksheets("Sheet1")
LastRowA = ws.Range("B" & Rows.count).End(xlUp).Row 'Finds last used row of column A
LastRowF = ws.Range("F" & Rows.count).End(xlUp).Row 'Finds last used row of column F
'Fills down column by column
ws.Range("A" & LastRowA).AutoFill Destination:=ws.Range("A" & LastRowA & ":A" & LastRowF), Type:=xlFillValues
ws.Range("B" & LastRowA).AutoFill Destination:=ws.Range("B" & LastRowA & ":B" & LastRowF), Type:=xlFillValues
ws.Range("C" & LastRowA).AutoFill Destination:=ws.Range("C" & LastRowA & ":C" & LastRowF), Type:=xlFillValues
ws.Range("D" & LastRowA).AutoFill Destination:=ws.Range("D" & LastRowA & ":D" & LastRowF), Type:=xlFillValues
ws.Range("E" & LastRowA).AutoFill Destination:=ws.Range("E" & LastRowA & ":E" & LastRowF), Type:=xlFillValues
【讨论】:
谢谢,但我在运行此程序时收到自动填充方法范围类失败错误消息。我试过声明 LastRowA 和 LastRowF 但没有运气Dim ws As Worksheet Dim LastRowA As Long Dim LastRowF As Long
@noobatexcel 您是否重命名了Set ws = ThisWorkbook.Worksheets("Sheet1")
中的工作表?因为它完全按照您展示的示例电子表格的预期工作
谢谢,我得到了它的工作,但它只是从最后一行填写。我需要它来填充上面示例电子表格中突出显示的行。例如,第 3 行应包含 A,第 4 行应包含 B 等,而不是仅从最后一行填充 B。
@noobatexcel 转到数据的第一行并在单元格 A1 中添加此公式:=CHAR(64+ROW(A1))
,然后将该公式拖到单元格 E1 中。然后再次运行代码以上是关于如何从动态起点填写选择?的主要内容,如果未能解决你的问题,请参考以下文章