从不同的列中查找范围并插入一个值

我目前面临的挑战是,我有一列已经从另一个工作簿中拉出的列AK中的所有完成在同一行的数据。 我想用列L中所有相同的值标记数据

我有的代码是试图find列A中的最后一个单元格和列L中的最后一个单元格。

然后我尝试使用这两行之间的范围来在列L中的范围内插入一个值:

Sub FillTestType(TestType As String) Dim rng As Range Dim wsh As Worksheet Dim Row As Long Dim EndCell As Long Dim TopCell As Long Set wsh = Worksheets("Sheet1") wsh.Activate EndCell = Cells(Rows.count, "A").End(x1Up).Row TopCell = Cells(Rows.count, "L").End(x1Up).Row rng = Range(Cells(TopCell, 12), Cells(EndCell, 12)).Value rng = TestType End Sub 

我不断收到一个运行时错误 – 任何帮助将不胜感激! 或者,如果我是愚蠢的,有一个更好的方法来解决这个问题,请让我知道。

像这样的东西应该工作。 主要整理意见:

  • xlUp而不是x1Up (以及Option Explicit在将来会捕捉到这一点!)
  • +1TopCell这样你就不会覆盖你在该行的最后一个值
  • 使用With和完全限定您的RangeCell引用.
  • 清理不必要的variables – 例如为了将来多次使用或可读性

 Option Explicit Sub FillTestType(TestType As String) Dim EndCell As Long Dim TopCell As Long With Worksheets("Sheet1") EndCell = .Cells(.Rows.Count, "A").End(xlUp).Row TopCell = .Cells(.Rows.Count, "L").End(xlUp).Row + 1 .Range(.Cells(TopCell, 12), .Cells(EndCell, 12)).Value = TestType End With End Sub