从不同的列中查找范围并插入一个值
我目前面临的挑战是,我有一列已经从另一个工作簿中拉出的列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
在将来会捕捉到这一点!) -
+1
到TopCell
这样你就不会覆盖你在该行的最后一个值 - 使用
With
和完全限定您的Range
和Cell
引用.
- 清理不必要的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