powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Vba & Excel
25 сообщений из 29, страница 1 из 2
Vba & Excel
    #34972010
BadGirl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите как мне из Listbox вытощить текст на Sheet.Программный код пишу на кнопку.
...
Рейтинг: 0 / 0
Vba & Excel
    #34972047
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Private Sub CommandButton1_Click()
Dim myListIndex As Long
    
    For myListIndex =  0  To Me.ListBox1.ListCount -  1 
        Debug.Print Me.ListBox1.List(myListIndex)
    Next
    
End Sub
...
Рейтинг: 0 / 0
Vba & Excel
    #34972070
BadGirl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BadGirlПомогите как мне из Listbox вытощить текст и добавить его на Sheet.Программный код пишу на кнопку.
...
Рейтинг: 0 / 0
Vba & Excel
    #34972075
BadGirl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vbapro
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Private Sub CommandButton1_Click()
Dim myListIndex As Long
    
    For myListIndex =  0  To Me.ListBox1.ListCount -  1 
        Debug.Print Me.ListBox1.List(myListIndex)
    Next
    
End Sub

Нет не идёт.Мне надо что бы то что в Listbox добавлялось на Sheet.
...
Рейтинг: 0 / 0
Vba & Excel
    #34972157
BadGirl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Vba & Excel
    #34972286
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
то же самое, поменяй названия контрола и/или листа
Код: plaintext
1.
2.
3.
4.
5.
6.
Private Sub CommandButton1_Click()
Dim myListIndex As Long
    
    For myListIndex =  0  To Sheet1.ListBox1.ListCount -  1 
        Sheet1.Cells(myListIndex +  1 ,  1 ).Value = Sheet1.ListBox1.List(myListIndex)
    Next
End Sub
...
Рейтинг: 0 / 0
Vba & Excel
    #34972374
BadGirl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не идёт пишет ошибку
Compile error
Method or date member not found.
...
Рейтинг: 0 / 0
Vba & Excel
    #34972414
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Vba & Excel
    #34972447
BadGirl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спосибки но не так!Вот работы кусок!
...
Рейтинг: 0 / 0
Vba & Excel
    #34972680
sqrk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может, так?
...
Рейтинг: 0 / 0
Vba & Excel
    #34972689
BadGirl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ОЙ Спосибки 1 проблема ну я её решу он замену делает когда добавляет.
...
Рейтинг: 0 / 0
Vba & Excel
    #34973357
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vbaproто же самое, поменяй названия контрола и/или листа
Код: plaintext
1.
2.
3.
4.
5.
6.
Private Sub CommandButton1_Click()
Dim myListIndex As Long
    
    For myListIndex =  0  To Sheet1.ListBox1.ListCount -  1 
        Sheet1.Cells(myListIndex +  1 ,  1 ).Value = Sheet1.ListBox1.List(myListIndex)
    Next
End Sub


попутный вопрос к [vbapro]

Как сделать чтобы после этого следующее нажатие клавиши
<enter>
уже передавалось на лист Sheet1 (а не на форму)
и выделялась следующая ячейка справа от .Cells(myListIndex + 1, 1).
(не используя мышь)

Спасибо !
==================
...
Рейтинг: 0 / 0
Vba & Excel
    #34981767
sqrk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как сделать чтобы после этого следующее нажатие клавиши
<enter>
уже передавалось на лист Sheet1 (а не на форму)


А форма закрыться должна?


и выделялась следующая ячейка справа от .Cells(myListIndex + 1, 1).
(не используя мышь)


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Private Sub CommandButton2_Click()

    Dim ii As Integer
    
    Sheets("Sheet2").Cells.ClearContents
    
    If ListBox2.ListCount =  0  Then
        MsgBox "Укажите текст"
    Else
        For ii =  0  To ListBox2.ListCount -  1 
            Sheets("Sheet2").Cells(ii +  1 ,  1 ) = ListBox2.List(ii) 
        Next ii
    End If
    
    Sheets("Sheet1").Select ' возврат на лист с именем Sheet1
    Cells(ListBox2.ListCount + ii,  2 ).Select ' выделение ячейки

End Sub
...
Рейтинг: 0 / 0
Vba & Excel
    #34982022
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sqrk

Как сделать чтобы после этого следующее нажатие клавиши
<enter>
уже передавалось на лист Sheet1 (а не на форму)


А форма закрыться должна?


и выделялась следующая ячейка справа от .Cells(myListIndex + 1, 1).
(не используя мышь)


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Private Sub CommandButton2_Click()

    Dim ii As Integer
    
    Sheets("Sheet2").Cells.ClearContents
    
    If ListBox2.ListCount =  0  Then
        MsgBox "Укажите текст"
    Else
        For ii =  0  To ListBox2.ListCount -  1 
            Sheets("Sheet2").Cells(ii +  1 ,  1 ) = ListBox2.List(ii) 
        Next ii
    End If
    
    Sheets("Sheet1").Select ' возврат на лист с именем Sheet1
    Cells(ListBox2.ListCount + ii,  2 ).Select ' выделение ячейки

End Sub


форма открыта в режиме modal=0
и не должна закрываться - висит постояно

Ваш способ работает
ячейка выделяется
но
следующее нажатие
передается не на лист EXCEL - а на ФОРМУ !!
...
Рейтинг: 0 / 0
Vba & Excel
    #34982419
sqrk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Правки:
1. Cells(ListBox 2 .ListCount + ii, 2).Select надо заменить на Cells(ListBox 1 .ListCount + ii, 2).Select
2. Добавить UserForm1.Hide
3. Операцмии выплняемые пр активации формы, выполнять при инициализации

Тогда:
1. После добавления на лист с именем Sheet2 окно скрывается и можно работать с листом
2. Повторное нажатие кнопки Form1 возвращает окно.
...
Рейтинг: 0 / 0
Vba & Excel
    #34982902
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sqrkПравки:
1. Cells(ListBox 2 .ListCount + ii, 2).Select надо заменить на Cells(ListBox 1 .ListCount + ii, 2).Select
2. Добавить UserForm1.Hide
3. Операцмии выплняемые пр активации формы, выполнять при инициализации

Тогда:
1. После добавления на лист с именем Sheet2 окно скрывается и можно работать с листом
2. Повторное нажатие кнопки Form1 возвращает окно.

Спасибо большое за участие
Но проблема в том что пользователь буянит и не желает
нажимать ни кнопок ни мышек - только клавишу Enter для перехода
на след клетку на ЛИСТЕ
Исчезновения и восстановления формы не потерпит

как то надо перенаправить клаву на лист excel
чтоб <enter > передавался уже на лист
и при этом форма должна остаться висеть - но не ловить клаву
...
Рейтинг: 0 / 0
Vba & Excel
    #34984087
sqrk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нажатие кнопки enter в excel, кстати, не приводит к переходу на следующую строку. Если очень надо, то можно переопределить действия, но нужно ди это? Переход на след. строку осуществляется стрелочкой вниз.

Все время или один раз нужен переход по ентер в след. ячейку?
...
Рейтинг: 0 / 0
Vba & Excel
    #34984469
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sqrkНажатие кнопки enter в excel, кстати, не приводит к переходу на следующую строку. Если очень надо, то можно переопределить действия, но нужно ди это? Переход на след. строку осуществляется стрелочкой вниз.

Все время или один раз нужен переход по ентер в след. ячейку?

по нажатию <enter>
переходить должно на след клетку ВПРАВО от последней заполненной
на ЛИСТЕ

форма пославшая данные в клетку ЛИСТА
после отсылки этих данных должна отключится
и не брать более на себя клавиатурный ввод

но не исчезать

мне кажется задача неразрешима в принципе ?
...
Рейтинг: 0 / 0
Vba & Excel
    #34985623
sqrk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если форма должа висеть, значит предполагается к ней вернуться? Так по какому действию должен происходить возврат в форму?
...
Рейтинг: 0 / 0
Vba & Excel
    #34986120
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MX -- ALEXпо нажатию <enter>
переходить должно на след клетку ВПРАВО от последней заполненной
на ЛИСТЕНикто никуда переходить по <enter> не должен вообще-то.
Если хочешь программно двигать активную ячейку на листе, то пользуйся методом Select.
Например найти последнюю заполненную ячейку в строке и поставить курсор на одну ячейку справа:
Код: plaintext
ActiveCell.EntireRow.Range("IV1").End(xlLeft).Offset( 0 , 1 ).Select
Все.

MX -- ALEXформа пославшая данные в клетку ЛИСТА
после отсылки этих данных должна отключится
и не брать более на себя клавиатурный ввод

но не исчезать

мне кажется задача неразрешима в принципе ?Разрешима, если форма не будет модальной.
Иди в проперти формы и ставь ей ShowModal в false. Все.
...
Рейтинг: 0 / 0
Vba & Excel
    #34986501
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl MX -- ALEXпо нажатию <enter>
переходить должно на след клетку ВПРАВО от последней заполненной
на ЛИСТЕНикто никуда переходить по <enter> не должен вообще-то.
Если хочешь программно двигать активную ячейку на листе, то пользуйся методом Select.
Например найти последнюю заполненную ячейку в строке и поставить курсор на одну ячейку справа:
Код: plaintext
ActiveCell.EntireRow.Range("IV1").End(xlLeft).Offset( 0 , 1 ).Select
Все.

.

нашел нужную
сделал ...........).Select
ввожу данные с клавиатуры в эту ячейку

облом
ввод идет на форму !!



немодальная не годится по другим причинам
...
Рейтинг: 0 / 0
Vba & Excel
    #34986504
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sqrkЕсли форма должа висеть, значит предполагается к ней вернуться? Так по какому действию должен происходить возврат в форму?

возврат на форму мышкой
пользователь согласен

а вот после того как форма забросит данные в ячейку
и сделает селект этой ячейки
пользователь считает нелогичным и излишним еще и тукать по ней мышкой
...
Рейтинг: 0 / 0
Vba & Excel
    #34986511
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MX -- ALEXнашел нужную
сделал ...........).Select
ввожу данные с клавиатуры в эту ячейку

облом
ввод идет на форму !!А ActiveSheet.Activate сделал?



MX -- ALEXнемодальная не годится по другим причинамТогда в морг. Форма может быть либо модальная, либо немодальная.
Если хочешь форму всегда висящую на экране - выкидывай Эксель, пиши нормальный гуй и не морочь людям голову.
...
Рейтинг: 0 / 0
Vba & Excel
    #34986517
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MX -- ALEXа вот после того как форма забросит данные в ячейку
и сделает селект этой ячейки
пользователь считает нелогичным и излишним еще и тукать по ней мышкойА зачем пользователь "тукает" мышью по форме?
...
Рейтинг: 0 / 0
Vba & Excel
    #34986677
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl MX -- ALEXа вот после того как форма забросит данные в ячейку
и сделает селект этой ячейки
пользователь считает нелогичным и излишним еще и тукать по ней мышкойА зачем пользователь "тукает" мышью по форме?

не по форме а по ячейке
чтоб разбудить лист и вводить данные на лист

и это достает

ActiveSheet.Activate
не лечит
пробовал :)
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Vba & Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]