2016-07-29 2 views
-1

На одной вкладке у меня есть список складов, у которых есть уникальный номер депо, приписываемый им. На другой вкладке у меня есть список данных, который включает в себя множество строк для каждого депо с номерами депо в каждой строке.Работа с использованием списка без использования select - EXCEL VBA

Мне в основном нужно создать файл для каждого депо только с информацией о нем.

Обычно, я хотел бы начать в верхней части списка складов, а также использовать

While Not ActiveCell.Value="" 

Затем скопировать лист, удалить все строки, которые вратарь включает, что депо, сохранить как новый файл, а затем использовать ActiveCell (2,1). Выберите, чтобы выбрать следующее хранилище и повторить.

Однако, мне нужен способ сделать это, не используя select. Может кто-нибудь посоветует, пожалуйста?

+1

Вы знаете, [о] (http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros)? – pnuts

+1

Да, я видел это, но не могу найти то, что мне нужно для моего конкретного сценария. –

+1

Прочитайте [как избежать использования '.Select'] (https://stackoverflow.com/questions/10714251/how-to -avoid-using-select-in-excel-vba-macros) – BruceWayne

ответ

0

Добавить переменную для хранения номера строки и обернуть код в цикле, который должен это сделать.

Public Sub Sample() 
Dim LngRow as Long 
Dim WkSht as Worksheet 

Set WkSht = ThisWorkbook.Worksheets("Sheet1") 
    LngRow = 2 
    Do Until WkSht.Range("A" & LngRow) = "" 
     ExportDepot WkSht.Range("A" & LngRow) 
     LngRow = LngRow + 1 
    Loop 
Set WkSht = Nothing 
+0

Существует несколько способов сделать это. Я бы предположил, может быть, отправил ваш код в [Code Review] (http://codereview.stackexchange.com/), чтобы просмотреть его. –

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