Здравствуйте всем. Помогите мне разобраться с функцией Select Case. Макрос и описание в приложеном примере. Буду благодарен за разъяснение. В VBA я новичок, но очень хочеться научиться программировать. А пример нужен для решения рабочих задач, не ради забавы.
Вообще-то Select Case принимает только один параметр, а не кучу. В Вашем случае лучше If ... Then:
Код
If St1 < St2 And St1 < St3 Then
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
ElseIf St2 < St1 And St2 < St3 Then
LastRow = Cells(Rows.Count, 2).End(xlUp).Row
ElseIf St3 < St1 And St3 < St2 Then
LastRow = Cells(Rows.Count, 3).End(xlUp).Row
Else
LastRow = Cells(Rows.Count, 2).End(xlUp).Row
End If
Или менять подход к Select Case:
Код
Select Case True 'хочу сравнить и узнать где меньше всего строк
Case St1 < St2 And St1 < St3
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
Case St2 < St1 And St2 < St3
LastRow = Cells(Rows.Count, 2).End(xlUp).Row
Case St3 < St1 And St3 < St2
LastRow = Cells(Rows.Count, 3).End(xlUp).Row
Case Else
LastRow = Cells(Rows.Count, 2).End(xlUp).Row
End Select
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
здравствуйте. 1. select case - это не функция. это оператор 2. синтаксис. использованный Вами - недопустим. после слова case должно находиться любое допустимое числовое или строковое выражение. одно. 3. в данном случае оператор Select Case - явно не оптимальный вариант. проще, быстрее и правильнее воспользоваться одной функцией листа Min
Код
lastrow=application.min(st1, st2, st3)
фрилансер Excel, VBA - контакты в профиле "Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг