Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 След.
Ошибка загрузки данных в listbox при двойном клике на ячейке диапазона, ошибка;381 Could not set the list property. Invalid property array index.
 
Цитата
Дмитрий(The_Prist) Щербаков написал: As Variant
Большое спасибо за помощь.
Все заработало.
Изменено: vikttur - 15.01.2022 21:04:02
Ошибка загрузки данных в listbox при двойном клике на ячейке диапазона, ошибка;381 Could not set the list property. Invalid property array index.
 
При запуске напрямую UserForm_Initialize(), данные в listbox загружаются.
Код
Public Sub UserForm_Initialize()
arrFull = Worksheets("Price_of_material").Range("Materials_name").Value
ListBoxItems.List = arrFull
Me.TextBoxItems.SetFocus
End Sub

Но ошибка при вызове FormSearch.Show 0 сохраняется.
Ошибка загрузки данных в listbox при двойном клике на ячейке диапазона, ошибка;381 Could not set the list property. Invalid property array index.
 
Добрый день. При двойном клике на ячейках диапазона C13:C206 выдает ошибку 381 Could not set the list property. Invalid property array index. Я так понимаю, значения собираются но не заносятся в listbox. Не могу понять в чем проблема. Как исключить ошибку и вывести заполненный Listbox?
Изменено: Станислав Вьюжанин - 14.01.2022 13:20:45
Двойной клик по ячейке с вызывает выпадающий список с поиском с соответствующей сортировкой
 
Щелкнул два раза на ячейке B11, Вызвал Listbox, но в нем все данные с листа материалы, а должны быть только данные из малярки: лак и краска.
Помогите пожалуйста отфильтровать список. Соответственно, когда нажимаю на ячейке В10 должны выводиться только данные Малярка, а остальных видно не должно быть.
Спасибо.
Изменено: Станислав Вьюжанин - 11.08.2021 10:06:51
Двойной клик по ячейке с вызывает выпадающий список с поиском с соответствующей сортировкой
 
По совету "Jack Famous" решил использовать предложенную им форму.
Двойной клик по ячейке с вызывает выпадающий список с поиском с соответствующей сортировкой
 
Выбираем необходимые данные на листе "Список" желтый столбец.
Далее многоуровневым списком относит нас на лист материалы. Но данные с листа материалы не копируют гиперссылку, а так же не позволяют использовать поиск.
Помогите пожалуйста с многоуровневым списком.
Спасибо.
P.S. Что бы начать список заново, приходиться пропускать одну строку.
Изменено: Станислав Вьюжанин - 09.08.2021 09:47:23
Двойной клик по ячейке с вызывает выпадающий список с поиском с соответствующей сортировкой
 
Спасибо Юрий, помогло.
Двойной клик по ячейке с вызывает выпадающий список с поиском с соответствующей сортировкой
 
Добрый день.
При отработке кода:
Код
        For Each rCell In Selection
        If rCell.Offset(-1, 0) <> "" And rCell.Offset(0, 38) <> "" And rCell.Offset(0, 39) <> "" Then rCell.Offset(1, 0).EntireRow.Insert
               rCell.Offset(1, 37) = "=R[-1]C" 'rCell.Offset(0, 37)
               'rCell.Offset(0, 38) = rCell.Offset(0, 38)
               rCell.Offset(1, 38) = rCell.Offset(0, 38)
               rCell.Offset(1, 39) = rCell.Offset(0, 39)
               rCell.Offset(1, 36) = "=R[-1]C"
               rCell.Offset(0, 21) = "да"
               rCell.Offset(1, 21) = "нет"
               rCell.Offset(0, 24) = "1"
               rCell.Offset(0, 26) = "1"
               rCell.Offset(0, 29) = "1"
        ElseIf rCell.Offset(0, 37) = "" And rCell.Offset(0, 38) = "" Then
               rCell.Offset(1, 0).EntireRow.Insert
               rCell.Offset(-1, 37) = rCell.Offset(-1, 0)
               rCell.Offset(0, 37) = rCell.Offset(-1, 0)
               rCell.Offset(0, 38) = "test"
               rCell.Offset(1, 37) = "=R[-1]C"
               rCell.Offset(1, 38) = rCell.Offset(0, 38)
               rCell.Offset(1, 39) = rCell.Offset(0, 39)
               rCell.Offset(1, 36) = "=R[-1]C"
               rCell.Offset(0, 21) = "да"
               rCell.Offset(1, 21) = "нет"
               rCell.Offset(0, 22) = "нет"
               rCell.Offset(0, 23) = "нет"
               rCell.Offset(0, 25) = "1"
               rCell.Offset(0, 29) = "1"
        Else '2
               rCell.Offset(0, 29) = "0"
        End If '2
        Next
Выдает ошибку:
Цитата
Else without if
с отсылкой на строку кода:
Код
 ElseIf rCell.Offset(0, 37) = "" And rCell.Offset(0, 38) = "" Then

Подскажите пожалуйста, где ошибка. Не могу найти.
Изменено: vikttur - 08.08.2021 19:51:38
Двойной клик по ячейке с вызывает выпадающий список с поиском с соответствующей сортировкой
 
Потрясающая форма, но я не смогу такую воссоздать (((
Я не понимаю как он данные поддаскивает из файла.
Могу предположить, что скорее всего через этот макрос:

Код
Private Sub bC_Click()
Dim arr(), x, i&, n&

ReDim arr(UBound(arrFull))

    For i = 0 To Me.lb.ListCount - 1
        If Me.lb.Selected(i) Then arr(n) = Me.lb.List(i): n = n + 1
    Next i

    If n = 0 Then
        If Me.lb.MultiSelect = fmMultiSelectSingle Then MsgBox "При вызове формы для одиночного выделения нельзя сформировать список из всего отфильтрованного!", vbExclamation, "ПУСТО": Exit Sub
        If MsgBox("Ничего не выбрано…" & vbLf & "Сформировать список из ВСЕГО ОТФИЛЬТРОВАННОГО" & vbLf & "(" & Me.lb.ListCount & " элементов)?", vbYesNo + vbQuestion + vbDefaultButton1) = vbNo Then Exit Sub
        ReDim arr(0 To UBound(arrFull)): n = 0
        For Each x In Me.lb.List
            arr(n) = x: n = n + 1
        Next x
    End If

fin: ReDim Preserve arr(n - 1): FS_arr = arr: Unload Me
End Sub


Наверно...
Изменено: Станислав Вьюжанин - 30.07.2021 16:30:16
Двойной клик по ячейке с вызывает выпадающий список с поиском с соответствующей сортировкой
 
Спасибо большое "evgeniygeo" за код, долго не мог разобраться как такое написать:
Код
    Set fcell = Sheets("Состав").Columns("B:B").Find(ActiveCell)
    If Not fcell Is Nothing Then
        Cells(ActiveCell.Row, 1) = Sheets("Состав").Cells(fcell.Row, 1)
        Cells(ActiveCell.Row, 4) = Sheets("Состав").Cells(fcell.Row, 3)
        Cells(ActiveCell.Row, 6) = Sheets("Состав").Cells(fcell.Row, 5)
    End If
. Касательно ваших вопросов: Не совсем понимаю, как Вы хотите чтобы выходил список? Нажали два раза мышкой и что должно произойти? Должна появится форма со списком (Listbox) или тот же самый выпадающий список (ТЫЦ)? хотелось бы видеть в виде выпадающего списка, но с поиском, что бы можно было искать по первым буквам.
И объясните чем Вас не устраивает выпадающий список в моем примере? выпадающий список очень хороший, но на последнем листе, данные с гитерссылками на веб сайты, а гиперссылки не перетаскиваются формулами, поэтому и хочу двойным кликом открывать одни данные, а если они выполнены то открывать другие данные. Для примера, при выбирании данных с ячейки B9 и ниже в выпадающем списке одни данные, а при изменении условия, например в B6 в выпадающем списке другие данны, но сделать их по условию пока не знаю как. Спасибо большое за помощь.
Изменено: Станислав Вьюжанин - 30.07.2021 10:37:09
Двойной клик по ячейке с вызывает выпадающий список с поиском с соответствующей сортировкой
 
Помогите пожалуйста заменить выпадающий список столбца b заменить  на вызов макроса по двойному клику, в формулы столбцов a,d,f на значения.
Изменено: Станислав Вьюжанин - 29.07.2021 16:33:00
Двойной клик по ячейке с вызывает выпадающий список с поиском с соответствующей сортировкой
 
Я видел работу таблицы в таком формате. Двойным кликом меняем значение в столбце В3:В1000 листа "Список", но сейчас столбец В3:В1000 формируется выпадающим списком, а не двойным кликом.
Изменено: Станислав Вьюжанин - 29.07.2021 12:23:21 (Замечание админа)
Двойной клик по ячейке с вызывает выпадающий список с поиском с соответствующей сортировкой
 
цитата - не бездумня копия [МОДЕРАТОР]

Спасибо "evgeniygeo". Я создавал многоуровневые выпадающие списки наименованными диапазонами с помощью ДВССЫЛ (INDIRECT) и формул. Добавил во вложение.
Но поскольку значений много порядка 10000 строк, хотелось бы реализовать с помощью макроса в виде двойного клика на ячейке и с поиском.
Пытался реализовать через vba. Пока не получается.
Код
    With Target  
          .Offset(, 1) = Price.Offset(, 1)
          .Offset(, 4) = Price.Offset(, 3)
          .Offset(, 6) = Price.Offset(, 5)
    End With
Изменено: vikttur - 29.07.2021 10:43:58
Двойной клик по ячейке с вызывает выпадающий список с поиском с соответствующей сортировкой
 
Добрый день. Подскажите пожалуйста, как по двойному клику на листе "список" диапазона В3:В10000, появлялся диапазон по условию J3:J10000, с листа "Состав". То есть сделав двойной клик по ячейке B5 (Овощи), выводился перечень овощей с листа "Состав". После выбора которого данные вставлялись бы на лист "Список"
По двойному клику по ячейке менять значения столбца
 
Добрый день.
Подскажите пожалуйста как по двойному клику в столбце b6:b1000 по надписи овощи сортировка менялась по значению столбца A  "да" D "Ово", а
по двойному клику в столбце b6:b1000 по надписи морковь сортировка менялась по значению столбца A  "да" D "Ово", E "мор"
Как создать макрос, который фильтрует список по значению текущей ячейки
 
Добрый день.  Подскажите пожалуйста, почему фильтр скрывает строку 8. Пробовал менять If Target.Row <> 7 Then на If Target.Row <> 8 Then, тогда он все равно скрывает строк 8, но так как строка 8 свёрнута, таблицу назад не разворачивает.
Решил проблему так
Код
Selection.AutoFilter Field:=Target.Column, Criteria1:=Array(Target.Value, "сада"), Operator:=xlFilterValues
Изменено: Станислав Вьюжанин - 13.10.2020 11:21:52
Как создать макрос, который фильтрует список по значению текущей ячейки
 
Добрый день. Добавил код из файла "Филя_много_критериев_Dbl_Clk". А он почему то не сортирует. Подскажите пожалуйста.
Изменено: Станислав Вьюжанин - 12.10.2020 15:06:10 (Разобрался, спасибо.)
Перенос значения из одного столбца в другой по двойному клику, Перенос значения из одного столбца в другой по двойному клику
 
Цитата
V написал:
? 12Target.Offset(, 3) = Target.Value & Chr(10) & Target.Offset(, 3)Target.Offset(, 3).Characters(Start:=12, Length:=100).Font.Strikethrough = True
Отлично работает. Спасибо большое за помощь.
Если вдруг кому то нужен будет образец, то он во вложении.
Перенос значения из одного столбца в другой по двойному клику, Перенос значения из одного столбца в другой по двойному клику
 
Цитата
V написал:
п.с. смысл с этого куска кода?Код ? 12345If ActiveCell.Value = "" Then            ActiveCell.Value = Date + 7        Else            ActiveCell.Value = Date + 7        End If
Если ячейка пустая при двойном клике дается неделя на устранение проблемы, если ячейка заполнена, то дата перемещается в право и дается еще неделя на устранение.
Спасибо. Попробую добавить ваш код.
Перенос значения из одного столбца в другой по двойному клику, Перенос значения из одного столбца в другой по двойному клику
 
Цитата
Станислав Вьюжанин написал:
но зачеркивая их.
В строках 57, 58, 63, по двойному клику в каждой ячейке столбца G. Дата 19.02.2020 перемещается в столбец J соответствующей строки, при этом предыдущие даты в столбце J зачеркиваются но не удаляются.
Перенос значения из одного столбца в другой по двойному клику, Перенос значения из одного столбца в другой по двойному клику
 
Добрый день друзья.
Нужна помощь. Необходимо с помощью двойного клика по диапазону в столбце G в столбец J. Не удаляя при этом значения в в ячейке J, но зачеркивая их.
[ Закрыто] Перенос VBA, Перенос в соседнюю ячейку с переносом в ячейке с помощью VBA
 
Добрый день друзья.
Помогите пожалуйста. Имеется таблица.
Необходимо по двойному клику на диапазоне значений 7 столбца, перенести данное значение в 9 столбец, предварительно осуществить перенос имеющегося в этой таблице значения ниже.
Исходная таблица
Конечная таблица
При копировнии избежать замены символа Ø на Æ.
 
buchlotnik, я не понял как это работает. Но это работает. Спасибо большое.
При копировнии избежать замены символа Ø на Æ.
 
Упростил файл с проблемой
При копировнии избежать замены символа Ø на Æ.
 
Цитата
Ігор Гончаренко написал: отметить символ и задать правильное название шрифта
Не получается посчитать. В таблице из 5000 строк, в 1000 строках Æ не находится на одном и том же месте.
PP-R Ø15×2,2
Узел прохода Ø 100
Изменено: Станислав Вьюжанин - 21.06.2019 17:32:51
При копировнии избежать замены символа Ø на Æ.
 
Речь идет о символе Æ,
При копировнии избежать замены символа Ø на Æ.
 
А как тогда символ "Ø", который в VBA отражается как "?", при вставке на лист заставить опять превращаться в "Ø"?
При копировнии избежать замены символа Ø на Æ.
 
Добрый день друзья.
Имеется таблица с текстовыми строками в которых иногда встречается символ Ø, диаметра.
Копирую данные строки в массив:
Код
Smeta = .Range("A1:K" & .Cells(.Rows.Count, "A").End(xlUp).Row).Value

А после обработки и выгрузки на лист он символ Ø диаметра меняет на Æ.

Подскажите пожалуйста не сложную функцию по поиску и замене символов в массиве макроса.
В массиве он отображается как знак ?.

Замену с символом я нашел:
Код
Symbol = ChrW(216)

Спасибо.
Excel VBA расчет формулы ПОИСКПОЗ
 
Цитата
vikttur написал:
Ва именно ПОИСКПОЗ нужна и никакое другое решение задачи не подходит?
Vikttur, я решал данную проблему макросом так:
Код
    With Range("Smeta_mat_volume")
    .Formula = "=IF(AND(RC[16]=""äà"",OR(RC[70]=R4C22,R4C22=R20C[73])),ROUNDUP(RC[10]*RC[11],0),0)*IF(INDEX(Smeta_contractor_all_works,MATCH(Smeta_contractor_finish,Smeta_all_contractor,0),MATCH(RC76,Smeta_contractor_works,0))=""да"",1,0)"
    .Calculate
    .Value = .Value
    End With
Конечно же рассмотрю любую помощь. Но пока идей, кроме как перебор, нет.
Excel VBA расчет формулы ПОИСКПОЗ
 
Предположим, можно действовать так:
Код
 VB_Smeta_contractor_finish = .Range("Smeta_contractor_finish").Value   
 VB_Smeta_contractor_works = .Range("Smeta_contractor_works").Value
'$BX15 это VB_Smeta_full(i, 75) 75 столбец в уже скопированном массиве
 Smeta_all_contractor = .Range("BZ2:BZ20").Value 'столбец в массиве VB_Smeta_contractor_works
 Smeta_contractor_works = .Range("CA1:DH1").Value 'строка в массиве VB_Smeta_contractor_works

For sv = 1 To UBound(VB_Smeta_full)
      If VB_Smeta_full(sv, 14) = 0 Then
                   VB_Smeta_full(sv, 4) = 0
                   VB_Smeta_volume(sv, 1) = VB_Smeta_full(sv, 4)
      Else
        If VB_Smeta_full(sv, 20) = "да" Then
            If VB_Smeta_contractor = VB_Smeta_contractor_fix Then
                   VB_Smeta_full(sv, 4) = Round(VB_Smeta_full(sv, 14) * VB_Smeta_full(sv, 15), 0)
                   VB_Smeta_volume(sv, 1) = VB_Smeta_full(sv, 4)
                Else
  
               'в это место и должна встать эта злополучная формула
  
               For sc = 2 To UBound(VB_Smeta_contractor_works) 'начинаем со 2 строки, т.к. в 1 строке работы
                  If VB_Smeta_full(1, sc) = VB_Smeta_contractor_finish Then
                         For sv = 2 To UBound(VB_Smeta_contractor_works) 'начинаем со 2 столбца, т.к. в 1 столбце компании
                              If VB_Smeta_full(sv, sc) = VB_Smeta_full(i, 75) Then
                                  VB_Smeta_full(i, 4) = Round(VB_Smeta_full(i, 14) * VB_Smeta_full(i, 15), 0)
                                  VB_Smeta_volume(i, 1) = VB_Smeta_full(i, 4)
                End If
            End If
        End If
     End If
    Next





Попробую так
Изменено: Станислав Вьюжанин - 24.04.2019 17:27:42
Страницы: 1 2 3 4 След.
Наверх