Manyasha, ни какой критики (((( вы что ВАМ СПАСИБО ОГРОМНОЕ за то что вы мне показали пояснили и помогли создать My WebPage Просто я смог вытянуть с той темы код сортировки и применить его к некоторым своим боксам в данной теме ))))))
Цитата
Я перезаполнила список для поставщиков)) Дальше 28-й строки элементы не попадают в список. Смотрите имя по ctrl+f3, не нужно ли $B$2:$B$28 заменить на побольше?
Т.е. я должен также еще и в диспетчере имен расширить строки (((( Я думал макрос сам раз дополняет список то он и расширит если что (((( или нет????
Manyasha, ни какой критики (((( вы что ВАМ СПАСИБО ОГРОМНОЕ за то что вы мне показали пояснили и помогли создать My WebPage Просто я смог вытянуть с той темы код сортировки и применить его к некоторым своим боксам в данной теме ))))))
Цитата
Я перезаполнила список для поставщиков)) Дальше 28-й строки элементы не попадают в список. Смотрите имя по ctrl+f3, не нужно ли $B$2:$B$28 заменить на побольше?
Т.е. я должен также еще и в диспетчере имен расширить строки (((( Я думал макрос сам раз дополняет список то он и расширит если что (((( или нет????lebensvoll
Она 1. автоматически подхватывает весь заполненный диапазо; 2. неволатильна (не пересчитывается при каждом телодвижении на листе) - меньше вешает компьютер 3. при удалении ячейки В1 формула со СМЕЩ портится, а с ИНДЕКС - нет. И вообще ИНДЕКС по столбцу/строке защищен от удаления ячеек и строк/столбцов) 4. Должна быть быстрее (не проверял)
Вот так вообще хорошо, но обычно этого не требуется
Она 1. автоматически подхватывает весь заполненный диапазо; 2. неволатильна (не пересчитывается при каждом телодвижении на листе) - меньше вешает компьютер 3. при удалении ячейки В1 формула со СМЕЩ портится, а с ИНДЕКС - нет. И вообще ИНДЕКС по столбцу/строке защищен от удаления ячеек и строк/столбцов) 4. Должна быть быстрее (не проверял)
Вот так вообще хорошо, но обычно этого не требуется
_Boroda_, Manyasha, я столкнулся с вылетом (((( вот этого ((((
Цитата
Subscript out of range
что в переводе гласит
Цитата
Нижний индекс вне диапазона
Если я правильно его понимаю то я как раз таки столкнулся с тем что мне поясняла Manyasha!??? _Boroda_, я обязательно применю ваши формулы СПАСИБО!!!
_Boroda_, Manyasha, я столкнулся с вылетом (((( вот этого ((((
Цитата
Subscript out of range
что в переводе гласит
Цитата
Нижний индекс вне диапазона
Если я правильно его понимаю то я как раз таки столкнулся с тем что мне поясняла Manyasha!??? _Boroda_, я обязательно применю ваши формулы СПАСИБО!!!lebensvoll
Зачем? Если вы используете "умные" таблицы, так и используйте на здоровье. [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("B3:B10000")) Is Nothing Then If IsEmpty(Target) Then Exit Sub If WorksheetFunction.CountIf(Sheets("Поставщик").ListObjects("Постав").DataBodyRange, Target) = 0 Then lReply = MsgBox("Добавить введенное имя " & Target & " в выпадающий список?", vbYesNo + vbQuestion) If lReply = vbYes Then With Worksheets("Поставщик").ListObjects("Постав").ListColumns(1) Worksheets("Поставщик").Cells(Worksheets("Поставщик").Rows.Count, .Range.Column).End(xlUp).Offset(1) = Target End With With Worksheets("Поставщик").ListObjects("Постав") .Sort.SortFields.Clear .Sort.SortFields.Add Key:=.Range(1), SortOn:=xlSortOnValues, _ Order:=xlAscending, DataOption:=xlSortNormal .Sort.Header = xlYes .Sort.MatchCase = False .Sort.Orientation = xlTopToBottom .Sort.SortMethod = xlPinYin .Sort.Apply End With End If End If End If End Sub
[/vba] [vba]
Код
Private Sub CommandButton1_Click() ComboBox1.List = Range("Постав").Value End Sub
Private Sub CommandButton2_Click() ComboBox2.List = Worksheets("Поставщик").ListObjects("Постав").DataBodyRange.Value End Sub
Private Sub CommandButton3_Click() ComboBox3.List = Worksheets("Поставщик").ListObjects(1).DataBodyRange.Value End Sub
[/vba] Для другого списка в макросе достаточно изменить имя таблицы, и, при необходимости, листа.
Зачем? Если вы используете "умные" таблицы, так и используйте на здоровье. [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("B3:B10000")) Is Nothing Then If IsEmpty(Target) Then Exit Sub If WorksheetFunction.CountIf(Sheets("Поставщик").ListObjects("Постав").DataBodyRange, Target) = 0 Then lReply = MsgBox("Добавить введенное имя " & Target & " в выпадающий список?", vbYesNo + vbQuestion) If lReply = vbYes Then With Worksheets("Поставщик").ListObjects("Постав").ListColumns(1) Worksheets("Поставщик").Cells(Worksheets("Поставщик").Rows.Count, .Range.Column).End(xlUp).Offset(1) = Target End With With Worksheets("Поставщик").ListObjects("Постав") .Sort.SortFields.Clear .Sort.SortFields.Add Key:=.Range(1), SortOn:=xlSortOnValues, _ Order:=xlAscending, DataOption:=xlSortNormal .Sort.Header = xlYes .Sort.MatchCase = False .Sort.Orientation = xlTopToBottom .Sort.SortMethod = xlPinYin .Sort.Apply End With End If End If End If End Sub
[/vba] [vba]
Код
Private Sub CommandButton1_Click() ComboBox1.List = Range("Постав").Value End Sub
Private Sub CommandButton2_Click() ComboBox2.List = Worksheets("Поставщик").ListObjects("Постав").DataBodyRange.Value End Sub
Private Sub CommandButton3_Click() ComboBox3.List = Worksheets("Поставщик").ListObjects(1).DataBodyRange.Value End Sub
[/vba] Для другого списка в макросе достаточно изменить имя таблицы, и, при необходимости, листа.RAN
потому что код ругался именно на него (((( [img][/img] Хотя код для активации комбоБокса прописан все правильно (((( [vba]
Код
Private Sub ComboBox8_Exit(ByVal Cancel As MSForms.ReturnBoolean) Dim LastRow2 As Long Dim Fam As String Fam = Me.ComboBox8.Value With Sheets("Привезли цемент") LastRow2 = .Cells(Rows.Count, 2).End(xlUp).Row If Fam <> "" Then If Application.WorksheetFunction.CountIf(Range("МашиныПривоза"), Fam) = 0 Then .Cells(LastRow2 + 1, 2) = Fam End If End If Sheets("Привезли цемент").Range("B1:B1000").Sort Key1:=Sheets("Привезли цемент").Range(B2), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal 'этот код и поможет отсортировать в алфавитном порядке End With Call UserForm_Activate End Sub
[/vba]
Да кстати Александр )))) у меня получилось даже прописать код (ну как прописать разобраться как он прописывался в другом файле ) и теперь при нажатии кнопки добавить запись на форме все данные с формы вписываются в таблицу))))))) СУПЕР ПРОСТО!!! Помогите разобраться почему ругается макрос выпадающий список (((( [img][/img]
_Boroda_, добрый день!!! Не могу понять что произошло ((((( в начале выходила выпадать ошибка
Цитата
Нижний индекс вне диапазона
(((( но тем не менее форма 1 работала. Решил изменить диапазоны используя формулы
потому что код ругался именно на него (((( [img][/img] Хотя код для активации комбоБокса прописан все правильно (((( [vba]
Код
Private Sub ComboBox8_Exit(ByVal Cancel As MSForms.ReturnBoolean) Dim LastRow2 As Long Dim Fam As String Fam = Me.ComboBox8.Value With Sheets("Привезли цемент") LastRow2 = .Cells(Rows.Count, 2).End(xlUp).Row If Fam <> "" Then If Application.WorksheetFunction.CountIf(Range("МашиныПривоза"), Fam) = 0 Then .Cells(LastRow2 + 1, 2) = Fam End If End If Sheets("Привезли цемент").Range("B1:B1000").Sort Key1:=Sheets("Привезли цемент").Range(B2), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal 'этот код и поможет отсортировать в алфавитном порядке End With Call UserForm_Activate End Sub
[/vba]
Да кстати Александр )))) у меня получилось даже прописать код (ну как прописать разобраться как он прописывался в другом файле ) и теперь при нажатии кнопки добавить запись на форме все данные с формы вписываются в таблицу))))))) СУПЕР ПРОСТО!!! Помогите разобраться почему ругается макрос выпадающий список (((( [img][/img]lebensvoll
Да что такое то (((( то вроде бы сделаешь работает код не ругается (((( потом начинаешь заполнять форму и тут нахожу ошибку что выпадающие списки некоторые не работают (((( проверяю диспетчер имен нахожу ошибки правлю и возвращаюсь к проблеме описанной в посте
Цитата
Дата: Пятница, 22.07.2016, 13:30 | Сообщение № 28
ПОМОГИТЕ ПОЖАЛУЙСТА в чем моя ошибка?????
Да что такое то (((( то вроде бы сделаешь работает код не ругается (((( потом начинаешь заполнять форму и тут нахожу ошибку что выпадающие списки некоторые не работают (((( проверяю диспетчер имен нахожу ошибки правлю и возвращаюсь к проблеме описанной в посте
Цитата
Дата: Пятница, 22.07.2016, 13:30 | Сообщение № 28
ПОМОГИТЕ ПОЖАЛУЙСТА в чем моя ошибка?????lebensvoll
Матраскин, да есть такое (((( да я иной раз просто жуть как не внимателен (((( из за этого потом тридцать три раза все лопачу ))))) хотя тут есть и плюсы ))))) зато материал столько же раз через себя прогоняю ))))
Матраскин, да есть такое (((( да я иной раз просто жуть как не внимателен (((( из за этого потом тридцать три раза все лопачу ))))) хотя тут есть и плюсы ))))) зато материал столько же раз через себя прогоняю ))))lebensvoll