2015-11-06 4 views
-6

У меня есть два листа, в которых L6 листа 1 будет иметь данные из диапазона на листе 2 B: B. Мне нужен макрос, по команде он должен выбрать B: B, а затем скопировать первое значение ячейки (B1) в L6 листа 1, после следующего щелчка он должен выбрать B2 и скопировать значение в L6, достигнув последнего значения или пробела ячейки он должен отобразить сообщение «нет значения».Значения диапазона копирования один за другим

+0

Вот несколько примеров цикла http://www.xlorate.com/excel-vba-loops.html – Davesexcel

+0

Привет Neelesh, вы пробовали anythng? Если да, пожалуйста, поместите код, чтобы мы могли помочь его улучшить :) – Linga

+0

Спасибо за ссылку Dave, но это не помогло мне, что я ищу. @ Linga Я использую список валидации данных на данный момент. Но выбирая каждый раз из списка довольно утомительно. Я почти 1500 записей в столбце B – 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