Excel 将值填充到动态范围中的最后一行

Excel 将值填充到动态范围中的最后一行,excel,vba,Excel,Vba,抱歉,伙计们,我意识到这真的很简单,但上个小时试图弄明白这一点非常令人沮丧。 我想让值“427”(D列)一直向下到范围最后一行的末尾。(第32行)由于它是一个动态范围,随着时间的推移,该范围将有新的条目。我使用下面的代码来完成它 Sub EnterRemainingValues() Dim Workbook As Workbook Dim lastrow As Long Set Workbook = Workbooks("Workbook 1")

抱歉,伙计们,我意识到这真的很简单,但上个小时试图弄明白这一点非常令人沮丧。 我想让值“427”(D列)一直向下到范围最后一行的末尾。(第32行)由于它是一个动态范围,随着时间的推移,该范围将有新的条目。我使用下面的代码来完成它

  Sub EnterRemainingValues()
    Dim Workbook As Workbook
    Dim lastrow As Long
    Set Workbook = Workbooks("Workbook 1") 'name of workbook

    lastrow = Worksheets("Sheets1").Cells(Rows.Count, 1).End(xlUp).Row
Worksheets("Sheet1").Range("D14:D" & lastrow).Value = "427"

我认为我遇到的问题是,范围从A13开始,而不是从A1开始,因此值427只填充与工作表标题高度(A1:A3)相对应的前3行。代码认为这是最后一行。我想用“427”填充D列,一直到第14行开始的最后一行。多谢各位

编辑:我忘了提及-我正在控制“workbook1”,其中包含来自不同工作簿的图片范围(“workbookfinal”)

尝试以下操作:

Option Explicit

Sub EnterRemainingValues()
    
    ' Define workbook.
    Dim wb As Workbook ' You might need to use '.xlsm'
    Set wb = Workbooks("Workbook 1") ' name of workbook
    
    ' Define worksheet.
    Dim ws As Worksheet
    Set ws = wb.Worksheets("Sheet1")
     
    ' Calculate last row.
    Dim lastrow As Long
    lastrow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
    
    ' Write values.
    ws.Range("D14:D" & lastrow).Value = "427"

End Sub

工作簿中的代码是否包含工作表?还是两本不同的作业本?@BigBen我已经试过了,这种方法似乎不起作用。请看我的编辑,我忘了提到!道歉。我从不同的位置控制工作簿1workbook@VBasic2008对不起,我忘了提了,我知道已经改正了。代码位于不同的工作簿(“workbookfinal”)中,我正在尝试在图中所示的工作簿(“Workbook1”)上运行此代码。是否使用J列解决问题<代码>最后一行=工作表(“Sheets1”)。单元格(Rows.Count,10)。结束(xlUp)。行