错误:无效或不合格-VBA复制粘贴

时间:2018-10-19 16:39:31

标签: excel vba compiler-errors copy-paste

我正在尝试将数据列从一张纸复制到一个只包含用于大型列表的匹配“ tickers”的空纸...一旦完成,我想删除所有重复项或不复制他们。

A)有人可以帮忙弄清楚设置“ Ticker”时出现错误的原因

B):删除重复项最有效的方法是什么?

Dim BottomRow As Long
Dim TopRow As Long
Dim col As Integer
Dim Ticker As String
Dim RngY As Range

TopRow = 6

For col = 4 To 3 + (2 * 26) Step 2

Ticker = .Cell(TopRow - 1, col - 3).Value
BottomRow = .Cells(.Rows.Count, col).End(xlUp).row
.Range(.Cells(TopRow, col), .Cells(BottomRow, col)).Copy

Worksheets("TSX-CleanDate").Activate
RngY = Worksheets("Source").Range("3A:3XFD").Find(Ticker, lookat:=xlPart)

.Cells(4, RngY).Paste

Next

1 个答案:

答案 0 :(得分:1)

设置Ticker时出现错误是因为您没有在代码中引用任何工作表。

Ticker = .Cell(TopRow - 1, col - 3).Value

.Cell部分仅在您的代码位于With块中时才有效,但是由于并非如此,因此您需要像这样完全限定工作表(另外,您应该使用{{1 }},而不是Cells

Cell

关于B部分,请查看this answer