我想感谢任何提前回答并花时间回复此(或其他)帖子的人。这真是一个伟大的社区。Excel VBA;如果列M中的值等于x,则列A应该等于列E
我是VBA的新手,可以做一些小的事情,但是当谈到引用不是R1C1格式的单元格时,我不明白如何继续。 (我买了几本书,我只是在开始的章节,在书中我找不到这个参考)。
我需要做的是从列L的顶部开始,然后逐行往下走。如果列L = 8中的值,那么我需要将列E中的值复制到列A中。如果列L = 7的值,那么我需要将列E中的值复制到列B中。然后,我需要循环通过整个列L直到我到达最后一行。
我收到的错误是:Object_Global的方法范围失败(1004)
什么我是这样的:
Sub CopyVals()
Dim lngLoop As Long, lngRow As Long
Do Until IsEmpty(ActiveCell)
If Range("L" & lngLoop).Value = 8 Then
Range("E" & lngLoop).Copy Range("A" & lngLoop)
ElseIf Range("L" & lngLoop).Value = 7 Then
Range("E" & lngLoop).Copy Range("B" & lngLoop)
End If
ActiveCell.Offset(1, 0).Select
Loop
End Sub
再次 - 谢谢回复这个帖子。我一直在寻找几天,并考虑到具体的需求,我只是从这里到那里拿起代码来帮助我解决问题。
'lngLoop'永远不会被分配任何值,那么将永远是零。没有L0这样的单元,所以在第一次通过循环时会出现错误。 'lngRow'永远不会被使用。你可以用偏移量来完成整个事情,所以你可能不需要这些变量 – barrowc 2015-03-19 03:03:36