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

Вход

Регистрация

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

 

= Мир MS Excel/из combobox на лист - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » из combobox на лист (Макросы/Sub)
из combobox на лист
gge29 Дата: Суббота, 08.10.2016, 20:09 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 244
Репутация: 3 ±
Замечаний: 0% ±

Подскажите пожалуйста,как реализовать данную форму на листе МЕНЮ,есть кнопка выбора,данные на листе ДАННЫЕ,необходимо кнопки привязать к данным и вставку их на лист МЕНЮ в ячейки с жирным шрифтом
К сообщению приложен файл: 8120494.xlsm (20.4 Kb)
 
Ответить
СообщениеПодскажите пожалуйста,как реализовать данную форму на листе МЕНЮ,есть кнопка выбора,данные на листе ДАННЫЕ,необходимо кнопки привязать к данным и вставку их на лист МЕНЮ в ячейки с жирным шрифтом

Автор - gge29
Дата добавления - 08.10.2016 в 20:09
Manyasha Дата: Суббота, 08.10.2016, 22:16 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
gge29, так пойдет?
[vba]
Код
Private Sub CommandButton1_Click()
    Dim lr&, sh As Worksheet
    Set sh = ThisWorkbook.Sheets("МЕНЮ")
    With sh
        lr = .Cells(Rows.Count, 2).End(xlUp).Row + 1
        .Cells(lr, 2) = ComboBox1.Value
        .Cells(lr, 3) = ThisWorkbook.Sheets("ДАННЫЕ").Cells(ComboBox1.Value, 3)
        .Cells(lr, 4) = ComboBox2.Value
        .Cells(lr, 5) = ComboBox3.Value
    End With
'    закрыть форму?
'    Unload Me
End Sub
Private Sub UserForm_Initialize()
    Dim lr&, sh As Worksheet
    Set sh = ThisWorkbook.Sheets("ДАННЫЕ")
    With sh
        ComboBox1.List = .Range("b1:b12").Value
        lr = .Cells(Rows.Count, 4).End(xlUp).Row
        ComboBox2.List = .Range("d1:d" & lr).Value
        lr = .Cells(Rows.Count, 1).End(xlUp).Row
        ComboBox3.List = .Range("a1:a" & lr).Value
    End With
End Sub
[/vba]
К сообщению приложен файл: 8120494-1.xlsm (23.5 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеgge29, так пойдет?
[vba]
Код
Private Sub CommandButton1_Click()
    Dim lr&, sh As Worksheet
    Set sh = ThisWorkbook.Sheets("МЕНЮ")
    With sh
        lr = .Cells(Rows.Count, 2).End(xlUp).Row + 1
        .Cells(lr, 2) = ComboBox1.Value
        .Cells(lr, 3) = ThisWorkbook.Sheets("ДАННЫЕ").Cells(ComboBox1.Value, 3)
        .Cells(lr, 4) = ComboBox2.Value
        .Cells(lr, 5) = ComboBox3.Value
    End With
'    закрыть форму?
'    Unload Me
End Sub
Private Sub UserForm_Initialize()
    Dim lr&, sh As Worksheet
    Set sh = ThisWorkbook.Sheets("ДАННЫЕ")
    With sh
        ComboBox1.List = .Range("b1:b12").Value
        lr = .Cells(Rows.Count, 4).End(xlUp).Row
        ComboBox2.List = .Range("d1:d" & lr).Value
        lr = .Cells(Rows.Count, 1).End(xlUp).Row
        ComboBox3.List = .Range("a1:a" & lr).Value
    End With
End Sub
[/vba]

Автор - Manyasha
Дата добавления - 08.10.2016 в 22:16
gge29 Дата: Воскресенье, 09.10.2016, 13:18 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 244
Репутация: 3 ±
Замечаний: 0% ±

так пойдет?

Марина здравствуйте!!!Почти то,что надо,но надо как-то привязаться непосредственно к 4 строке(вставка в ячейки B4:E4) и при смене данных,менять данные в этих же ячейках ,а не строкой ниже.
 
Ответить
Сообщение
так пойдет?

Марина здравствуйте!!!Почти то,что надо,но надо как-то привязаться непосредственно к 4 строке(вставка в ячейки B4:E4) и при смене данных,менять данные в этих же ячейках ,а не строкой ниже.

Автор - gge29
Дата добавления - 09.10.2016 в 13:18
Pelena Дата: Воскресенье, 09.10.2016, 14:28 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 19182
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Так?
[vba]
Код
Private Sub CommandButton1_Click()
    Dim sh As Worksheet
    Set sh = ThisWorkbook.Sheets("МЕНЮ")
    With sh
        .Cells(4, 2) = ComboBox1.Value
        .Cells(4, 3) = ThisWorkbook.Sheets("ДАННЫЕ").Cells(ComboBox1.Value, 3)
        .Cells(4, 4) = ComboBox2.Value
        .Cells(4, 5) = ComboBox3.Value
    End With
'    закрыть форму?
'    Unload Me
End Sub
[/vba]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеТак?
[vba]
Код
Private Sub CommandButton1_Click()
    Dim sh As Worksheet
    Set sh = ThisWorkbook.Sheets("МЕНЮ")
    With sh
        .Cells(4, 2) = ComboBox1.Value
        .Cells(4, 3) = ThisWorkbook.Sheets("ДАННЫЕ").Cells(ComboBox1.Value, 3)
        .Cells(4, 4) = ComboBox2.Value
        .Cells(4, 5) = ComboBox3.Value
    End With
'    закрыть форму?
'    Unload Me
End Sub
[/vba]

Автор - Pelena
Дата добавления - 09.10.2016 в 14:28
gge29 Дата: Воскресенье, 09.10.2016, 20:43 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 244
Репутация: 3 ±
Замечаний: 0% ±


Елена и Вам спасибо!!!То что надо!!!
 
Ответить
Сообщение
Елена и Вам спасибо!!!То что надо!!!

Автор - gge29
Дата добавления - 09.10.2016 в 20:43
gge29 Дата: Воскресенье, 09.10.2016, 20:49 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 244
Репутация: 3 ±
Замечаний: 0% ±

И ещё один вопросик,можно ли сделать чтобы форма запоминала данные которые сейчас вбиты,чтобы другой пользователь просто менял Фамилию и всё
 
Ответить
СообщениеИ ещё один вопросик,можно ли сделать чтобы форма запоминала данные которые сейчас вбиты,чтобы другой пользователь просто менял Фамилию и всё

Автор - gge29
Дата добавления - 09.10.2016 в 20:49
Pelena Дата: Воскресенье, 09.10.2016, 21:24 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 19182
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
В макросе инициализации формы UserForm_Initialize() добавьте заполнение полей значениями из ячеек листа МЕНЮ


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеВ макросе инициализации формы UserForm_Initialize() добавьте заполнение полей значениями из ячеек листа МЕНЮ

Автор - Pelena
Дата добавления - 09.10.2016 в 21:24
gge29 Дата: Воскресенье, 09.10.2016, 22:46 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 244
Репутация: 3 ±
Замечаний: 0% ±

В макросе инициализации формы UserForm_Initialize() добавьте заполнение полей значениями из ячеек листа МЕНЮ

[vba]
Код
Private Sub UserForm_Initialize()
    Dim lr&, sh As Worksheet
    Set sh = ThisWorkbook.Sheets("ДАННЫЕ")
    With sh
        ComboBox1.List = .Range("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12").Value
        lr = .Cells(Rows.Count, 4).End(xlUp).Row
        ComboBox2.List = .Range("2000", "2001", "2002", "2003", "2004", "2005", "2006", "2007", "2008", "2009").Value
        ComboBox3.List = .Range("Иванов", "Петров", "Сидоров").Value
    End With
End Sub
[/vba]
Если так,то выдаёт ошибку
 
Ответить
Сообщение
В макросе инициализации формы UserForm_Initialize() добавьте заполнение полей значениями из ячеек листа МЕНЮ

[vba]
Код
Private Sub UserForm_Initialize()
    Dim lr&, sh As Worksheet
    Set sh = ThisWorkbook.Sheets("ДАННЫЕ")
    With sh
        ComboBox1.List = .Range("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12").Value
        lr = .Cells(Rows.Count, 4).End(xlUp).Row
        ComboBox2.List = .Range("2000", "2001", "2002", "2003", "2004", "2005", "2006", "2007", "2008", "2009").Value
        ComboBox3.List = .Range("Иванов", "Петров", "Сидоров").Value
    End With
End Sub
[/vba]
Если так,то выдаёт ошибку

Автор - gge29
Дата добавления - 09.10.2016 в 22:46
Pelena Дата: Воскресенье, 09.10.2016, 22:52 | Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 19182
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Я же написала ДОБАВЬТЕ, а не ИЗМЕНИТЕ
[vba]
Код
Private Sub UserForm_Initialize()
    Dim lr&, sh As Worksheet
    Set sh = ThisWorkbook.Sheets("ДАННЫЕ")
    With sh
        ComboBox1.List = .Range("b1:b12").Value
        lr = .Cells(Rows.Count, 4).End(xlUp).Row
        ComboBox2.List = .Range("d1:d" & lr).Value
        lr = .Cells(Rows.Count, 1).End(xlUp).Row
        ComboBox3.List = .Range("a1:a" & lr).Value
    End With
    With Sheets("МЕНЮ")
        ComboBox1 = .Cells(4, 2)
        ComboBox2 = .Cells(4, 4)
        ComboBox3 = .Cells(4, 5)
    End With
End Sub
[/vba]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЯ же написала ДОБАВЬТЕ, а не ИЗМЕНИТЕ
[vba]
Код
Private Sub UserForm_Initialize()
    Dim lr&, sh As Worksheet
    Set sh = ThisWorkbook.Sheets("ДАННЫЕ")
    With sh
        ComboBox1.List = .Range("b1:b12").Value
        lr = .Cells(Rows.Count, 4).End(xlUp).Row
        ComboBox2.List = .Range("d1:d" & lr).Value
        lr = .Cells(Rows.Count, 1).End(xlUp).Row
        ComboBox3.List = .Range("a1:a" & lr).Value
    End With
    With Sheets("МЕНЮ")
        ComboBox1 = .Cells(4, 2)
        ComboBox2 = .Cells(4, 4)
        ComboBox3 = .Cells(4, 5)
    End With
End Sub
[/vba]

Автор - Pelena
Дата добавления - 09.10.2016 в 22:52
gge29 Дата: Воскресенье, 09.10.2016, 22:56 | Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 244
Репутация: 3 ±
Замечаний: 0% ±

Я же написала ДОБАВЬТЕ, а не ИЗМЕНИТЕ

Извиняюсь)))"затупил")))Спасибо!!!Всё работает!!!
 
Ответить
Сообщение
Я же написала ДОБАВЬТЕ, а не ИЗМЕНИТЕ

Извиняюсь)))"затупил")))Спасибо!!!Всё работает!!!

Автор - gge29
Дата добавления - 09.10.2016 в 22:56
Мир MS Excel » Вопросы и решения » Вопросы по VBA » из combobox на лист (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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