Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Vba & Excel / 25 сообщений из 29, страница 1 из 2
28.11.2007, 15:00:34
    #34972010
BadGirl
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba & Excel
Помогите как мне из Listbox вытощить текст на Sheet.Программный код пишу на кнопку.
...
Рейтинг: 0 / 0
28.11.2007, 15:06:45
    #34972047
vbapro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba & Excel
Код: 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
28.11.2007, 15:11:25
    #34972070
BadGirl
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba & Excel
BadGirlПомогите как мне из Listbox вытощить текст и добавить его на Sheet.Программный код пишу на кнопку.
...
Рейтинг: 0 / 0
28.11.2007, 15:13:09
    #34972075
BadGirl
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba & Excel
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
28.11.2007, 15:31:55
    #34972157
BadGirl
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba & Excel
...
Рейтинг: 0 / 0
28.11.2007, 15:53:27
    #34972286
vbapro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba & Excel
то же самое, поменяй названия контрола и/или листа
Код: 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
28.11.2007, 16:08:07
    #34972374
BadGirl
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba & Excel
не идёт пишет ошибку
Compile error
Method or date member not found.
...
Рейтинг: 0 / 0
28.11.2007, 16:17:22
    #34972414
vbapro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba & Excel
...
Рейтинг: 0 / 0
28.11.2007, 16:24:55
    #34972447
BadGirl
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba & Excel
Спосибки но не так!Вот работы кусок!
...
Рейтинг: 0 / 0
28.11.2007, 17:17:39
    #34972680
sqrk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba & Excel
Может, так?
...
Рейтинг: 0 / 0
28.11.2007, 17:20:48
    #34972689
BadGirl
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba & Excel
ОЙ Спосибки 1 проблема ну я её решу он замену делает когда добавляет.
...
Рейтинг: 0 / 0
28.11.2007, 23:12:58
    #34973357
MX -- ALEX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba & Excel
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
03.12.2007, 12:24:01
    #34981767
sqrk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba & Excel
Как сделать чтобы после этого следующее нажатие клавиши
<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
03.12.2007, 13:22:34
    #34982022
MX -- ALEX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba & Excel
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
03.12.2007, 14:50:26
    #34982419
sqrk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba & Excel
Правки:
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
03.12.2007, 16:45:40
    #34982902
MX -- ALEX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba & Excel
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
04.12.2007, 10:25:59
    #34984087
sqrk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba & Excel
Нажатие кнопки enter в excel, кстати, не приводит к переходу на следующую строку. Если очень надо, то можно переопределить действия, но нужно ди это? Переход на след. строку осуществляется стрелочкой вниз.

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

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

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

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

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

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

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

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

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

.

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

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



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

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

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

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



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

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

и это достает

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


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