2015-04-28 2 views
0

Я застрял на том, что должно быть очень простым вопросом, что сильно меня разочаровывает.Проводка столбца даты в Excel VBA

По существу, я сортирую по многим файлам и манипулирую ими, но на этом нахожусь: как добавить в колонку с чем-то вроде даты в каждой ячейке до конца, где у других столбцов есть данные?

Скажите, что есть еще 5 колонн длиной по 20 штук. Какой код, который я должен использовать для создания столбца 6, имеет определенное значение с длиной 20? Длина зависит от каждого листа, на котором я работаю, и это было проблемой.

В программе, подобной MATLAB, я мог бы просто обозначить это, поставив что-то вроде F1: end, но найти ответ для Excel сводит меня с ума!

Любая помощь была бы принята с благодарностью.

+0

Это помогло бы другим, если вы могли бы разместить некоторые код, который вы уже пробовали, где в коде проблема, и что, если есть, сообщение об ошибке, которое вы получаете при запуске кода. –

ответ

0

В VBA вы обычно смотрите снизу вверх, чтобы найти последнюю непустую ячейку в столбце. С этим вы можете получить .Row, чтобы объединить в определение Range object. Пример:

with activesheet 
    .range("F1:F" & .cells(rows.count, 5).end(xlup).row) = Format(Now, "dd-mmm-yyyy hh:mm") 
end with 

Это позволит заполнить столбец F с первой строки в ячейке в столбце F, которая находится рядом с последней непустой значения в колонке E.

1

Вы можете программно сделать это в vb, чтобы определить нижнюю строку со значением, хотя это звучит так, как будто вы можете выполнить более прямое рабочее движение вперед.

Введите значение в верхнем ряду, и с выбранной ячейкой вы увидите квадрат в правом нижнем углу ячейки, дважды щелкните его, чтобы заполнить до конца используемого диапазона.

0
Sub Tester() 

    With ActiveSheet 
     .Range(.Range("E1"), _ 
       .Cells(Rows.Count, "E").End(xlUp)).Offset(0, 1).Value = Date 
    End With 

End Sub