我是VBA的总新手,今天早上刚开始面对一个大约30K行的电子表格时。Excel VBA:如果列中的值匹配,将值从表1插入表2
我有两个工作表:
- 名为“tohere”,包含在列序数C.
- 名为“fromhere”,包含B列C列数和值它基本上是相同的序数,但有些错过了 - 这就是为什么我开始写第一个宏的原因。
我希望Excel检查“tohere”中的数字C1是否存在于“fromhere”列中的任何单元格中,如果存在,请从“fromhere”中的对应行复制值, B列为“tohere”,Cell B1;然后再为C2等做。如果“fromhere”表中没有这样的数字,那么对此行不做任何处理。
我试过这段代码:
Dim i As Long
Dim tohere As Worksheet
Dim fromhere As Worksheet
Set tohere = ThisWorkbook.Worksheets("tohere")
Set fromhere = ThisWorkbook.Worksheets("fromhere")
For i = 1 To 100
If fromhere.Range("C" & i).Value <> tohere.Range("C" & i).Value Then
Else: fromhere.Cells(i, "B").Copy tohere.Cells(i, "B")
End If
Next i
它做什么,我想为相等(4在我的情况)第一单元格,然后只是停止没有进一步看。
我试着用Cells(i, "C")
代替,同样的事情。在Then
后使用i = i + 1
没有帮助。
我觉得问题出在我的单元格中,但我不明白如何解决它。
这是我的样品“fromhere”名单的样子(你可以看到一些数字是从C柱丢失):
这是我所用“tohere得到样品“的文章:
它到达那里没有一点‘’中‘fromhere’5。在这一点上停止。
P.S .: i = 1 To 100
只是为了测试它。
根据你的代码,两张纸的col C中的序数必须在同一行。你可以在一些图像共享网站或保存箱中上传你的床单的屏幕截图,并在这里发布链接。 – ZAT 2014-10-18 14:08:27