Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.07.2016, 13:41   #1
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 325
По умолчанию Определить самую длинную строку в ListBox

Здравствуйте Уважаемые программисты!
Подскажите пожалуйста, как кодом определить длину (Len(Me.ListBox1.List(x))) самой длинной строки в списке ListBox1 на форме? (vba excel 2003). Заранее спасибо!

Код:
For x = 0 To Me.ListBox1.ListCount - 1
Next x
ольгаг вне форума Ответить с цитированием
Старый 29.07.2016, 19:37   #2
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Код:
For i = 0 To ListBox1.ListCount - 1
    m = Application.Max(m, Len(ListBox1.List(i)))
Next
MsgBox m
pashulka вне форума Ответить с цитированием
Старый 29.07.2016, 19:42   #3
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

v.2
Код:
m = 0
For i = 0 To ListBox1.ListCount - 1
    IF m < Len(ListBox1.List(i)) then m = Len(ListBox1.List(i))
Next
debug.print m
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 29.07.2016, 19:52   #4
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

v2.5

Код:
For i = 0 To ListBox1.ListCount - 1
    l = Len(ListBox1.List(i))
    m = IIf(l > m, l, m)
Next
MsgBox m
+

Код:
a = ListBox1.List
For i = 0 To UBound(a)
    l = Len(a(i, 0)): m = IIf(l > m, l, m)
Next
MsgBox m
pashulka вне форума Ответить с цитированием
Старый 29.07.2016, 23:08   #5
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 325
По умолчанию

Спасибо!
ольгаг вне форума Ответить с цитированием
Старый 30.07.2016, 23:13   #6
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 325
По умолчанию

Подскажите пожалуйста, как кодом определить содержимое (текст) самой длинной строки в ListBox-е на форме и вывести найденное значение, например, в TextBox на этой же форме?
Заранее спасибо!

Последний раз редактировалось ольгаг; 30.07.2016 в 23:16.
ольгаг вне форума Ответить с цитированием
Старый 30.07.2016, 23:29   #7
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
m = 0: line = ""
For i = 0 To ListBox1.ListCount - 1
    IF m < Len(ListBox1.List(i)) then 
        m = Len(ListBox1.List(i))
        line = listBox1.List(i)
    End IF
Next
TextBox = line
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 31.07.2016, 09:17   #8
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Почти тоже самое ...

Код:
For i = 0 To ListBox1.ListCount - 1
    l = Len(ListBox1.List(i))
    If l > m Then c = i: m = l
Next
TextBox1 = ListBox1.List(c)
Код:
a = ListBox1.List
For i = 0 To UBound(a)
    l = Len(a(i, 0))
    If l > m Then c = i: m = l
Next
TextBox1 = ListBox1.List(c)
pashulka вне форума Ответить с цитированием
Старый 31.07.2016, 12:11   #9
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 325
По умолчанию

Спасибо большое!
ольгаг вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
язык СИ. получить самую длинную строку файла Alexandr- Помощь студентам 1 07.04.2013 09:08
Определить самую длинную и самую короткую строку файла Jadson Помощь студентам 6 20.07.2012 00:30
Работа с файлами .Найти самую длинную и самую короткую строки. britannia C# (си шарп) 1 03.06.2011 13:45
Скопировать содержимое текстового файла, удалив самую длинную строку. Nice Plant Помощь студентам 1 25.10.2010 12:54
Обнулить самую длинную последовательность возрастающих чисел Zevsnet Паскаль, Turbo Pascal, PascalABC.NET 0 30.09.2010 10:20