2013-10-11 6 views
0

Мне нужно создать макрос в excel, который будет повторять код ниже для ячеек в диапазоне от A2 до A46, которые содержат значения.VBA Excel: скопировать ячейку с одного листа на другой, повторить для всех ячеек в пределах диапазона

`Worksheets("Full Qual").Range("A2").Copy _ 
    Destination:=Worksheets("Test").Range("D4") 
    ActiveWorkbook.PrintOut From:=2, To:=4, Copies:=1, Collate:=True, _ 
    IgnorePrintAreas:=False` 

Цель состоит в том, чтобы заставить макрос скопировать ячейку из рабочего листа «Full кач» Рабочий лист «Тест» распечатать его, а затем перейти к следующей ячейке ниже, и повторить для всех ячеек со значениями до клетки A46. Любые советы будут высоко оценены. Заранее спасибо.

ответ

0

Рассмотрим:

Dim N As Long, v As Range 
For N = 2 To 46 
    Set v = Worksheets("Full Qual").Range("A" & N) 
    If v.Value <> "" Then 
     Worksheets("Full Qual").Range("A" & N).Copy _ 
      Destination:=Worksheets("Test").Range("D4") 
     ActiveWorkbook.PrintOut From:=2, to:=4, Copies:=1, Collate:=True, _ 
      IgnorePrintAreas:=False 
    End If 
Next N 

UNTESTED

+0

Спасибо за ваше предложение, я использовал его, но изменилась N = 2 до 8, чтобы не тратить слишком много бумаги и чернил. В пределах этого диапазона есть только 3 значения, и в итоге он закончил печать всех 3-х копий со значением A5 (вторая ячейка в пределах диапазона, который имеет значение). У меня была аналогичная проблема, когда я вручную повторил свой исходный код. – user2870648

Смежные вопросы