Я новичок в VBA, и я понятия не имею, с чего начать.

У меня есть два столбца данных:

Team Member Time
A             1
A             2
A             3
A             4

Меня интересует только первый и последний ряд этой таблицы, и мой ожидаемый результат такой:

Team Member Time
A             1
A             4

Общее количество строк в моей электронной таблице постоянно меняется, поэтому нет последней фиксированной последней строки.

Существуют ли простые функции Excel, которые могут помочь мне в этом, которые я могу записать с помощью макроса, или я должен создать функцию, используя для этого VBA?

Вот макрос, который просто выбирает 2-й и 3-й ряд, чтобы удалить его:

Sub Del()
Rows("3:4").Select
    Selection.Delete Shift:=xlUp
    Range("A1").Select
End Sub

Но это, очевидно, не работает, когда количество строк варьируется.

2 ответа2

0

С такими данными, как:

В C2 введите:

=IF(ROW()=2,"alpha",IF(B3="","omega",""))

и скопировать вниз. Затем автофильтр столбец C для отображения альфа и омега.

0

Учитывая, что вы пытаетесь использовать VBA для упрощения своих задач, это здорово! Ваш макрос мог быть простым, но это было хорошее начало.

Ниже приведен макрос, который можно вставить в ThisWorkbook в проводнике VBA. При запуске он найдет последнюю строку, выберите диапазон между первой и последней строкой (при условии, что A1 всегда является первой), затем удалите диапазон, оставив вас с первой и последней строкой.

Sub Del()

Dim sht As Worksheet
Dim LastRow As Long
Dim DataRange As Range

Set sht = ThisWorkbook.ActiveSheet

LastRow = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row
LastRow = LastRow - 1
Set DataRange = Range("A2:B" & LastRow)

DataRange.Delete

End Sub

Примечание. Этот макрос удаляет данные! Используйте на свой риск.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .