Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Формат данных в Combobox - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Формат данных в Combobox (Макросы/Sub)
Формат данных в Combobox
Паштет Дата: Суббота, 02.03.2019, 10:52 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 95
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Добрый день!
Заполняю Combobox значениями из столбца в формате отформатированным на листе в режиме "дополнительный" -> "табель". В этом столбце числа, у которых впереди может быть 0 (ноль). Такие же значения, я хочу видеть и в списке Combobox. Написал такой код:
[vba]
Код
Dim i As Long
    i = 3
    Do While Sheets("Вагон").Cells(i, 1) <> 0
              vagon.AddItem Sheets("Вагон").Cells(i, 1)
           i = i + 1
    Loop
[/vba]
но передние нули при этом не вставляются. Вставка в начало [vba]
Код
vagon=format("0000")
[/vba] ничего не дала.
Можно было и сделать [vba]
Код
vagon.AddItem (Sheets("Вагон").Cells(i, 1).text)
[/vba], но данные на лист приходят в в таком виде и заморачиваться с ними не хочется.


Сообщение отредактировал Паштет - Суббота, 02.03.2019, 10:53
 
Ответить
СообщениеДобрый день!
Заполняю Combobox значениями из столбца в формате отформатированным на листе в режиме "дополнительный" -> "табель". В этом столбце числа, у которых впереди может быть 0 (ноль). Такие же значения, я хочу видеть и в списке Combobox. Написал такой код:
[vba]
Код
Dim i As Long
    i = 3
    Do While Sheets("Вагон").Cells(i, 1) <> 0
              vagon.AddItem Sheets("Вагон").Cells(i, 1)
           i = i + 1
    Loop
[/vba]
но передние нули при этом не вставляются. Вставка в начало [vba]
Код
vagon=format("0000")
[/vba] ничего не дала.
Можно было и сделать [vba]
Код
vagon.AddItem (Sheets("Вагон").Cells(i, 1).text)
[/vba], но данные на лист приходят в в таком виде и заморачиваться с ними не хочется.

Автор - Паштет
Дата добавления - 02.03.2019 в 10:52
RAN Дата: Суббота, 02.03.2019, 11:43 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 5051
Репутация: 1004 ±
Замечаний: 0% ±

2010
[vba]
Код
vagon.AddItem Format(Sheets("Вагон").Cells(i, 1).Value, "0000")
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
vagon.AddItem Format(Sheets("Вагон").Cells(i, 1).Value, "0000")
[/vba]

Автор - RAN
Дата добавления - 02.03.2019 в 11:43
Pelena Дата: Суббота, 02.03.2019, 11:44 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 14009
Репутация: 3066 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Можно было и сделать

Не совсем понятно, почему так не сделать? Это ведь никак не повлияет на данные на листе.


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
Сообщение
Можно было и сделать

Не совсем понятно, почему так не сделать? Это ведь никак не повлияет на данные на листе.

Автор - Pelena
Дата добавления - 02.03.2019 в 11:44
K-SerJC Дата: Суббота, 02.03.2019, 11:44 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 430
Репутация: 70 ±
Замечаний: 0% ±

Excel 2013
но данные на лист приходят в в таком виде и заморачиваться с ними не хочется.

не понятно с чем заморачиваетесь
.text добавит значения в комбо бокс так как вы их в ячейке видите.
пример вложите, а то совсем не понятно


Благими намерениями выстелена дорога в АД.
 
Ответить
Сообщение
но данные на лист приходят в в таком виде и заморачиваться с ними не хочется.

не понятно с чем заморачиваетесь
.text добавит значения в комбо бокс так как вы их в ячейке видите.
пример вложите, а то совсем не понятно

Автор - K-SerJC
Дата добавления - 02.03.2019 в 11:44
_Boroda_ Дата: Суббота, 02.03.2019, 12:01 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 15009
Репутация: 5926 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Вроде похожая тема, видели?
http://www.excelworld.ru/forum/10-40958-1


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВроде похожая тема, видели?
http://www.excelworld.ru/forum/10-40958-1

Автор - _Boroda_
Дата добавления - 02.03.2019 в 12:01
Паштет Дата: Суббота, 02.03.2019, 12:13 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 95
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Не совсем понятно, почему так не сделать? Это ведь никак не повлияет на данные на листе.
Они вставляются в ручную из другого документа в общем формате с потерей нулей. Выставив текстовый вид, то ничего не поменяется. Установив дополнительный формат, данные приобретают нужный вид.

RAN, спасибо. То, что нужно.
 
Ответить
Сообщение
Не совсем понятно, почему так не сделать? Это ведь никак не повлияет на данные на листе.
Они вставляются в ручную из другого документа в общем формате с потерей нулей. Выставив текстовый вид, то ничего не поменяется. Установив дополнительный формат, данные приобретают нужный вид.

RAN, спасибо. То, что нужно.

Автор - Паштет
Дата добавления - 02.03.2019 в 12:13
Паштет Дата: Суббота, 02.03.2019, 12:50 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 95
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Теперь Find стал ругаться - не находит значения из того же столбца. Ох уж эти форматы, мозг вынут :(


Сообщение отредактировал Паштет - Суббота, 02.03.2019, 12:50
 
Ответить
СообщениеТеперь Find стал ругаться - не находит значения из того же столбца. Ох уж эти форматы, мозг вынут :(

Автор - Паштет
Дата добавления - 02.03.2019 в 12:50
RAN Дата: Суббота, 02.03.2019, 14:43 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 5051
Репутация: 1004 ±
Замечаний: 0% ±

2010
Вы не любите кошек? Вы просто не умеете их готовить!
[vba]
Код
Columns(1).Find(What:="*56").Activate
[/vba]


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Суббота, 02.03.2019, 14:47
 
Ответить
СообщениеВы не любите кошек? Вы просто не умеете их готовить!
[vba]
Код
Columns(1).Find(What:="*56").Activate
[/vba]

Автор - RAN
Дата добавления - 02.03.2019 в 14:43
Паштет Дата: Воскресенье, 03.03.2019, 12:32 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 95
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
RAN и как это подставить сюда?:
[vba]
Код
iRow = Sheets("Вагоны").Range(Sheets("Вагоны").Cells(2, 1), Sheets("Вагоны").Cells(Sheets("Вагоны").Cells(Rows.Count, 1).End(xlUp).Row, 1)).Find(What:=vagon.Value).Row
      
    With Sheets("Вагоны")
        model = .Cells(iRow, "b")
        tipars = .Cells(iRow, "c")
    End With
[/vba]
Кстати, не рациональнее будет через VLookup поступить?
 
Ответить
СообщениеRAN и как это подставить сюда?:
[vba]
Код
iRow = Sheets("Вагоны").Range(Sheets("Вагоны").Cells(2, 1), Sheets("Вагоны").Cells(Sheets("Вагоны").Cells(Rows.Count, 1).End(xlUp).Row, 1)).Find(What:=vagon.Value).Row
      
    With Sheets("Вагоны")
        model = .Cells(iRow, "b")
        tipars = .Cells(iRow, "c")
    End With
[/vba]
Кстати, не рациональнее будет через VLookup поступить?

Автор - Паштет
Дата добавления - 03.03.2019 в 12:32
RAN Дата: Воскресенье, 03.03.2019, 14:33 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 5051
Репутация: 1004 ±
Замечаний: 0% ±

2010
С вероятностью 100% я дал ответ для задачи наоборот.
Будет сеть, будет рыба. (возможно)


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеС вероятностью 100% я дал ответ для задачи наоборот.
Будет сеть, будет рыба. (возможно)

Автор - RAN
Дата добавления - 03.03.2019 в 14:33
Паштет Дата: Понедельник, 04.03.2019, 12:25 | Сообщение № 11
Группа: Пользователи
Ранг: Участник
Сообщений: 95
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Сделал так. Причем это еще и немного быстрее работать будет.
[vba]
Код
s = vagon.ListIndex
      
    With Sheets("Вагоны")
        model = .Cells(s + 3, "b")
        tipars = .Cells(s + 3, "c")
    End With
[/vba]
 
Ответить
СообщениеСделал так. Причем это еще и немного быстрее работать будет.
[vba]
Код
s = vagon.ListIndex
      
    With Sheets("Вагоны")
        model = .Cells(s + 3, "b")
        tipars = .Cells(s + 3, "c")
    End With
[/vba]

Автор - Паштет
Дата добавления - 04.03.2019 в 12:25
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Формат данных в Combobox (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2019 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!