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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2011, 13:13   #1
MoHoMaXFR
Пользователь
 
Регистрация: 04.05.2011
Сообщений: 36
По умолчанию Проблема с изменением listbox

Всем доброго времени суток =)
Проблема вот в чем : есть лист бокс в котором 5 столбцов . Необходимо чтобы при двоеном клике по какомуто из элементов списка он по очереди выводил окна сзапросом на изменение. тоесть ткнул два раза и по очереди вылезло 5 оконо с запросом изменения каждой ячеки в этой строке . если же просто нажать ок пропускал ячейку не тронув.

вот код. но он спрашивает только 1 раз и меняет первую ячейку


Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
With ListBox1
iSelIndex& = .ListIndex
If iSelIndex& > -1 Then
iText$ = InputBox("Введите новые данные", "ListBox1")
.List(iSelIndex&) = IIf(Len(iText$), iText$, .List(iSelIndex&))
End If
End With
End Sub

облазил гугл ничего путного не нашел , или набирал ен прально.

Последний раз редактировалось MoHoMaXFR; 05.05.2011 в 21:11.
MoHoMaXFR вне форума Ответить с цитированием
Старый 05.05.2011, 21:10   #2
MoHoMaXFR
Пользователь
 
Регистрация: 04.05.2011
Сообщений: 36
По умолчанию

вот код , помогите кто знает
MoHoMaXFR вне форума Ответить с цитированием
Старый 06.05.2011, 05:51   #3
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Можно, например, так:
Код:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Dim i As Integer, j As Integer, s As String, a()
    a = ListBox1.List: i = ListBox1.ListIndex
    For j = 0 To 4
        s = InputBox("Столбец " & j + 1, "Введите новые данные", a(i, j))
        a(i, j) = IIf(s = "", a(i, j), s)
    Next
    ListBox1.Clear: ListBox1.List = a
End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 06.05.2011, 07:50   #4
MoHoMaXFR
Пользователь
 
Регистрация: 04.05.2011
Сообщений: 36
По умолчанию

Спасибо огромное всё работает выручил!
MoHoMaXFR вне форума Ответить с цитированием
Старый 12.05.2011, 00:13   #5
MoHoMaXFR
Пользователь
 
Регистрация: 04.05.2011
Сообщений: 36
По умолчанию

Тут мы изменяем значение в лист боксе а как теперь запихнуть его на лист ?
MoHoMaXFR вне форума Ответить с цитированием
Старый 12.05.2011, 00:37   #6
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

With ListBox1
[a1].Resize(.ListCount, .ColumnCount) = .List
End With
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 12.05.2011, 07:37   #7
MoHoMaXFR
Пользователь
 
Регистрация: 04.05.2011
Сообщений: 36
По умолчанию

а можно теперь мне как чайнику объяснить какая часть что выполняет?
MoHoMaXFR вне форума Ответить с цитированием
Старый 12.05.2011, 10:32   #8
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Цитата:
Сообщение от MoHoMaXFR Посмотреть сообщение
а можно теперь мне как чайнику объяснить какая часть что выполняет?
[a1] - верхняя левая ячейка куда вставлять данные
.ListCount - количество строк ListBox1
.ColumnCount - количество столбцов ListBox1
.Resize(.ListCount, .ColumnCount) - определяем диапазон куда вставляем данные.
От а1 выделяем на .ListCount вниз, на .ColumnCount вправо
.List - массив данных ListBox1
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 25.05.2011, 21:43   #9
MoHoMaXFR
Пользователь
 
Регистрация: 04.05.2011
Сообщений: 36
По умолчанию

Кто может объяснить черный юмор) всё замечательно работало. сегодня запускаю программу тот же код он выдает unspecified error при изменении или удалении . Хотя код вообще не трогался этих юзерформов с ними связанными.
MoHoMaXFR вне форума Ответить с цитированием
Старый 25.05.2011, 21:45   #10
MoHoMaXFR
Пользователь
 
Регистрация: 04.05.2011
Сообщений: 36
По умолчанию

Цитата:
Сообщение от MoHoMaXFR Посмотреть сообщение
Кто может объяснить черный юмор) всё замечательно работало. сегодня запускаю программу тот же код он выдает unspecified error при изменении или удалении . Хотя код вообще не трогался этих юзерформов с ними связанными.
и в любом случае выделяет желтым listbox1.clear
MoHoMaXFR вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с изменением, удалением формы/отчета XEfri Microsoft Office Access 0 21.12.2010 12:00
Проблема с изменением hosts _-Re@l-_ Безопасность, Шифрование 6 19.11.2010 21:20
Проблема с изменением буквы лок. диска mibbim Операционные системы общие вопросы 1 20.07.2010 15:38
Проблема с изменением значений в динамической структуре whatever Помощь студентам 13 29.06.2010 12:26
Проблема с изменением ориентации страницы в отчете madmech Общие вопросы Delphi 0 22.05.2009 20:04