2015-11-06 142 views
-6

我有两张纸,其中第1张纸的L6将具有来自第2张纸B中范围的数据:B。我需要一个宏,根据命令选择B:B,然后将第一个单元格值(B1)复制到sheet1的L6,在下次单击它时,应选择B2并将值复制到L6,达到最后一个值或空白它应该显示一个消息“没有价值”。逐个复制范围值

+0

下面是一些例子循环http://www.xlorate.com/excel-vba-loops.html – Davesexcel

+0

嗨Neelesh,你尝试过anythng?如果是的话,请把代码放在我们可以帮助改进:) – Linga

+0

感谢您的链接戴夫,但它并没有帮助我什么,我正在寻找。@ Linga我使用数据验证列表截至目前。但从列表中选择每一次都很繁琐。列B中近1500条 – Neelesh

回答

0
Sub MyMacro() 
    Static curr As Range 
    If curr Is Nothing Then Set curr = Worksheets("Sheet2").Range("B1") 

    If curr.Value = vbNullString Then 
     MsgBox "No Value" 
     Exit Sub 
    End If 

    ' although Select is unrecommneded in VBA, but since it is required in the problem statement... 
    Worksheets("Sheet2").Activate 
    curr.Select 
    Worksheets("Sheet1").Range("L6").Value = curr.Value 
    Set curr = curr.Offset(1, 0) 
End Sub