Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / перебор CheckBox / 9 сообщений из 9, страница 1 из 1
25.01.2014, 21:52
    #38537907
vovfka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перебор CheckBox
Помогите плз. есть прайс с товаром (список с CheckBox). при установленном флажке нужно копировать содержимое ячейки в другой список(название товара копировать в чек). провозился с перебором Check Box из формы но при большом количестве очень долго перебирает. в гугле нашел похожее с ActiveX но там содержимое выбранных ячеек копируются в одну через запятую. Вот файл. Помогите плз исправить что бы содержимое ячеек копировалось в разные. например при выбранных 1,3,5 CheckBox содержимое ячеек копировалось в G3,G4,G5. или предложите альтернативу. заранее благодарен.
...
Рейтинг: 0 / 0
25.01.2014, 22:30
    #38537922
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перебор CheckBox
Может, вы всё же не так подходите, как нужно? Вы бы объяснили откуда, куда, и что копируете... На части реального примера, а не придуманного вами.
Может, никаких чекбоксов и не надо (тем более, что в источнике данных их явно нет )?
Может, достаточно сначала отметить позиции, а затем разом скопировать?
Может, достаточно научить лист реагировать на даблклик по названию?
Может,...
...
Рейтинг: 0 / 0
25.01.2014, 22:42
    #38537926
VSVLAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перебор CheckBox
vovfka,

Например так изменить функцию вывода:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Public Sub All_print_all_Rnk()
    Dim s As String, nRow As Long
    Worksheets("Лист1").Range("G:G").ClearContents

    For Each x In colCB
        If x.cb Then
            Worksheets("Лист1").Range("G3").Offset(nRow).Value = x.cb.TopLeftCell
            nRow = nRow + 1
        End If
    Next
End Sub


Вообще смотря как у вас сделано, чтобы определить почему долго перебирает. Вообще перед тем как выводить, нужно заблокировать обновление, отключить автоматические вычисления и т.д. да и смотря сколько у вас товара в списке, можно придумать оптимальный механизм
...
Рейтинг: 0 / 0
25.01.2014, 23:26
    #38537947
vovfka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перебор CheckBox
VSVLAD
супер. большое спасибо. то что надо. если подскажете что дописать что бы из столбика D копировалась информация в столбик H Вы меня спасете от еще одной недели изучения VB.
...
Рейтинг: 0 / 0
26.01.2014, 00:51
    #38537973
vovfka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перебор CheckBox
Вот собственно файл немножко переделан что бы было понятно. помогите дописать что бы при копировании столбца А в столбец Е еще и копировалась информация с В в столбец F.

заранее очень благодарен.

AndreTM
если можно немножко про дабл клик тоже очень интересно. особенно если можно реализовать описанное выше.
...
Рейтинг: 0 / 0
26.01.2014, 00:53
    #38537974
vovfka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перебор CheckBox
вот он
...
Рейтинг: 0 / 0
27.01.2014, 17:53
    #38539512
vovfka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перебор CheckBox
после пары дней гугла не зная что искать, так как VB и похожее никогда не изучал, вот что получилось.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Public Sub All_print_all_Rnk()
    Dim s, i As String, nRow As Long
    Worksheets("Лист1").Range("E3:E1000").ClearContents
    Worksheets("Лист1").Range("f3:f1000").ClearContents

    For Each x In colCB
        If x.cb Then
            Worksheets("Лист1").Range("E3").Offset(nRow).Value = x.cb.TopLeftCell
            i = Replace(x.cb.Name, "CheckBox", "")
            Worksheets("Лист1").Range("f3").Offset(nRow).Value = Range("b" & i + 2)
            nRow = nRow + 1
        End If
    Next
End Sub



файл прикладываю может кто подскажет если есть вариант проще.

P.S. сори за тупые вопросы с VB столкнулся впервые.
...
Рейтинг: 0 / 0
27.01.2014, 18:01
    #38539527
vovfka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перебор CheckBox
и снова забыл приложить
...
Рейтинг: 0 / 0
29.01.2014, 13:53
    #38542028
vovfka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перебор CheckBox
если кому надо будет вот получилась такая фигня. минусы такого метода.
1. когда добавить товар и кнопкой обновить чекбоксы нужно перезапускать файл что бы все работало.
2. сильный минус в том что при большом количестве чекбоксов файл долго открывается особенно если слабенький комп.

если кто видел реализацию похожих задач но проще киньте ссылку плз.

я так понимаю что открывается он долго потому что перебирает все чекбоксы а можно ли это отключить и при этом не перестанун ли работать макросы?
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / перебор CheckBox / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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