Форум программистов, компьютерный форум, киберфорум
MS Office Excel
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 06.02.2019
Сообщений: 25

Диалоговое окно

19.02.2019, 21:47. Показов 1483. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток!
подскажите как совместить этот код
Visual Basic
1
.RowSource = "=A2:D2"
с этим
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub UserForm_Initialize()
With ListBox1
.ColumnHeads = True
.ColumnCount = 4
.ColumnWidths = "60;80;60;30"
.MultiSelect = fmMultiSelectSingle
.TextColumn = 1
.BoundColumn = 0
For i = 1 To Sheets(1).Cells(Rows.Count, 2).End(xlUp).Row
If Sheets(1).Cells(i, 2).Value = "см" Then .AddItem (Sheets(1).Cells(i, 1).Value)
Next
End With
Ну или может другие есть способы подскажите
Принцип (В диалоговом окне, в листбоксе выходит информация с листа excel, но с одного столбца, а мне надо с двух)
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.02.2019, 21:47
Ответы с готовыми решениями:

Диалоговое окно
Нужно создать диалоговое окно,добавить статик текст и сделать так чтобы при нажатии на кнопку текст менялся,опишите пожалуйста подробно как...

Диалоговое окно
Ребята, помогите, уже все перерыл, требуется вот что, юзер нажимает на кнопку и чтоб там ему высветилось диалоговое окно(маленькое) с...

Диалоговое окно
Как создать диалоговое окно с CheckBoxam'и и кнопками в Studio?

8
 Аватар для pashulka
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
19.02.2019, 22:12
Цитата Сообщение от Алексей191919 Посмотреть сообщение
подскажите как совместить этот код
.RowSource = "=A2:D2"
Отсортировать таблицу по второму столбцу, тогда диапазон-источник будет представлять собой смежные ячейки, и тогда можно будет использовать свойство .RowSource

Цитата Сообщение от Алексей191919 Посмотреть сообщение
Ну или может другие есть способы подскажите
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub UserForm_Initialize()
    With ListBox1
         .ColumnCount = -1 '2
         .ColumnWidths = "60;80" '"60;80;60;30"
         Dim i&, a As Variant
         With Worksheets(1)
              a = .Range("C1", .Cells(.Rows.Count, 1).End(xlUp)).Value
         End With
         For i = 1 To UBound(a)
             If a(i, 2) = "см" Then
                .AddItem a(i, 1)
                .List(.ListCount - 1, 1) = a(i, 3)
             End If
         Next
    End With
End Sub
0
0 / 0 / 0
Регистрация: 06.02.2019
Сообщений: 25
19.02.2019, 22:44  [ТС]
в листбоксе не высвечивается список с листа
0
 Аватар для pashulka
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
19.02.2019, 23:01
значит в столбце B:B первого рабочего листа нет "см" или есть, но с пробелом(ми) или они введены как "См"
короче говоря, или выкладывайте файл или разбирайтесь самостоятельно
0
0 / 0 / 0
Регистрация: 06.02.2019
Сообщений: 25
20.02.2019, 13:53  [ТС]
вот фаил
Вложения
Тип файла: rar Тема.rar (24.8 Кб, 4 просмотров)
0
 Аватар для pashulka
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
20.02.2019, 17:21
Visual Basic
1
If Sheets(1).Cells(i, 2).Value = "см" Then .AddItem (Sheets(1).Cells(i, 1).Value)
а теперь строка из файла

Visual Basic
1
If Sheets(1).Cells(i, 3).Value = "см" Then .AddItem (Sheets(1).Cells(i, 1).Value)
Вы на форуме утверждали, что во втором столбце есть "см", в реальности, они в третьем столбце. Неужели нельзя, вместо сообщения о якобы неработающем макросе, просто самостоятельно изменить номера столбцов...

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub UserForm_Initialize()
    With ListBox1
         .ColumnCount = -1 '2
         .ColumnWidths = "60;80" '"60;80;60;30"
         Dim i&, a As Variant
         With Worksheets(1)
              a = .Range("C1", .Cells(.Rows.Count, 1).End(xlUp)).Value
         End With
         For i = 1 To UBound(a)
             If a(i, 3) = "см" Then
                .AddItem a(i, 1)
                .List(.ListCount - 1, 1) = a(i, 2)
             End If
         Next
    End With
End Sub
0
0 / 0 / 0
Регистрация: 06.02.2019
Сообщений: 25
20.02.2019, 18:00  [ТС]
Прошу прощения , этот фаил я создал отдельно от основной книги, так как она не вмещается в даже в сжатом виде

но даже сделав как Вы сказали
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Private Sub CommandButton2_Click()
Me.Hide
  UserForm1.Show 1
End Sub
 
Private Sub btnOK_Click()
Dim ws As Worksheet
Set ws = Worksheets("Лист2")
Dim newRow As Long
newRow = Application.WorksheetFunction.CountA(ws.Range("A:A")) + 1
For i = 0 To Me.lbDays.ListCount - 1
If Me.lbDays.Selected(i) Then
ws.Cells(newRow, 1).Value = ws.Cells(newRow, 1).Value + Me.lbDays.List(i) + " ": newRow = newRow + 1
End If
Next i
End Sub
 
Private Sub UserForm_Initialize()
    With ListBox1
         .ColumnCount = -1 '2
         .ColumnWidths = "60;80" '"60;80;60;30"
         Dim i&, a As Variant
         With Worksheets(1)
              a = .Range("C1", .Cells(.Rows.Count, 1).End(xlUp)).Value
         End With
         For i = 1 To UBound(a)
             If a(i, 3) = "см" Then
                .AddItem a(i, 1)
                .List(.ListCount - 1, 1) = a(i, 2)
             End If
         Next
    End With
всё рано не получается, пишет ошибку
0
 Аватар для pashulka
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
20.02.2019, 18:18
Лучший ответ Сообщение было отмечено Алексей191919 как решение

Решение

где ошибка ?
Вложения
Тип файла: zip Тема.zip (20.0 Кб, 2 просмотров)
1
0 / 0 / 0
Регистрация: 06.02.2019
Сообщений: 25
20.02.2019, 20:17  [ТС]
всё отлично спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.02.2019, 20:17
Помогаю со студенческими работами здесь

Диалоговое окно
как создать диалоговое окно с выбором ответов да или нет

Диалоговое окно
как добавить компонент Listbox в диалоговое окно messagedlg?

Диалоговое окно
Можно как нибудь вызвать вот это диалоговое окно переключения ?

Диалоговое окно
Подскажите как в диалоговое окно можно поместить календарь и возможность выбирать в нем дату Спасибо

Диалоговое окно!
При нажатии на ссылку появляется вопрос удалить объявление да нет! Если да то делаем переход по ссылке если нет то ничего не делаем! ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru