【问题标题】:How Do I Find the Next Empty Row如何找到下一个空行
【发布时间】:2020-09-27 18:55:52
【问题描述】:

我正在编写一个宏,它找到下一个空行,然后将一组数据附加到其中,应该始终将第 1 行作为我的标题行,但我的代码似乎只是覆盖了第 1 行中的标题. 我已经做了一些基本的调试,我已经尝试更改我的变量 row 的代码,但我要么得到错误,要么什么都没有,这是第一个粘贴我的日期,除了它正在粘贴我的数据只放入第 1 行。

Sub MEData()
    ' Find Next Empty Row & Append ME Data
    Dim headers() As Variant
    Dim ws As Worksheet
    Dim wb As Workbook
    Dim row As Integer
    row = Cells.SpecialCells(xlCellTypeLastCell).Offset(1, 0).row
    Application.ScreenUpdating = False
    Set wb = ActiveWorkbook
    Set ws = ThisWorkbook.Sheets("ME Data")
    If DesignChangeECN = "" Then
        DesignChangeECN = "Not Design Change"
    End If
    
    headers() = Array(VBA.Environ("UserName"), Now(), MPP_ECN, MPP_ECN_Description, _
    DesignChangeECN, Dept, ShortChangeDescription, ChangeType, "Additional Notes", _
    "Open", "Submitted")
    
    Rows(row).Insert shift:=xlShift ' Insert Into Next Empty Row
    With ws
    For i = LBound(headers()) To UBound(headers())
        .Cells(1, 1 + i).Value = headers(i)
        Next i
    End With
End Sub

所以这里上面的宏用我的数据替换了标题,如果我再次运行它,它只会用另一个副本替换数据......

我不太确定如何让它忽略第 1 行并不断地将数据附加到下一行。

【问题讨论】:

  • .Cells(1, 1 + i).Value = headers(i)... 第一个硬编码的1 是你的问题。
  • 请参阅this,了解查找最后一行的更好方法。
  • 哎呀。这就是我复制潜艇所得到的。 .我应该能够改变宏的那部分并得到我的结果。我现在感觉很笨。

标签: excel vba


【解决方案1】:

使用这个

LastRow=Cells(Rows.Count, 1).End(xlup).Row + 1

【讨论】:

    猜你喜欢
    • 2020-03-13
    • 2019-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多