Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
При обновлении сводной таблицы слетает набор "значений"
 
Дмитрий(The_Prist) Щербаков, благодарю
При обновлении сводной таблицы слетает набор "значений"
 
Добрый день, уважаемые форумчане.

Создаю сводную таблицу на основе "умной таблицы". (Excel 2013)
Настроил необходимые вычисления "значения", когда в "умной таблице" была информация.

Убрал из "умной таблицы" всю информацию, кроме заголовков. Обновил. Получил пустую сводную таблицу (оно и понятно, что так и должно было быть).

Вернул в "умную таблицу" данные, обновил. И тут получил, что все "значения" в сводной таблице сбились.

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

у меня имеется некоторая переменная "numTbl"
которая присваивается значение ComandBox "numTbl = Me.cbTable.Value"
В cbTable вводятся числовые значения (порядковый номер, пример: 1 или 2 или 3 и т.д.)


Если при инициации формы использую такой код: то форма заполняется значениями:
Код
Private Sub UserForm_Initialize()

    arr = Sheets("Baza").Range("Baza").Value

    For i = 1 To UBound(arr, 1)
        If arr(i, 4) = "Активный" Then
            If arr(i, 7) Like "*Кальян:*" Then
                m = Split(arr(i, 7), "|")
                For j = 0 To UBound(m)
                    If m(j) Like "*Кальян:*" Then
                        Me.lbHook.AddItem m(j)
                    End If
                Next j
            End If
        End If
    Next i

End Sub

Если же в форму добавляю дополнительное условие "... And arr(i, 5) = numTbl", то форма остается пустой. Хотя вроде значения одинаковые.
В таблице в 5 столбце записаны порядковые номера (1, 2, 3 и т.д.)

Код
Private Sub UserForm_Initialize()

    arr = Sheets("Baza").Range("Baza").Value

    For i = 1 To UBound(arr, 1)
        If arr(i, 4) = "Активный" And arr(i, 5) = numTbl Then
            If arr(i, 7) Like "*Кальян:*" Then
                m = Split(arr(i, 7), "|")
                For j = 0 To UBound(m)
                    If m(j) Like "*Кальян:*" Then
                        Me.lbHook.AddItem m(j)
                    End If
                Next j
            End If
        End If
    Next i

End Sub


Прошу объяснить причину и помочь решить задачу.
Перезапись Dictionary при инициации формы
 
sokol92, Благодарю за разъяснения
Перезапись Dictionary при инициации формы
 
Благодарю за совет.
Решил ситуацию по другому, сработало, но почему сработало не понимаю. :)

Добавил Unload Me в блок
Код
Private Sub NewOrder_Clic()

...

Unload Me

End Sub
Изменено: АналитикБУ - 7 Ноя 2019 12:39:22
Перезапись Dictionary при инициации формы
 
Добрый день, знатоки.

Прошу взглянуть на код и объяснить по какой причине у меня не происходит очистка и перезапись словаря dictTable, значения которое в последствии используются  в качестве значений cbTable, и как исправить ситуацию.  
Как сделать, чтобы формула применялась к прерывистому диапазону
 
Преобразуйте вашу таблицу в " умную таблицу" (Вкладка главная - Стили - Форматировать как таблицу). И для этой таблицы включите "Строка итогов". Далее со строкой итогов поиграйтесь как вам надо
Изменено: АналитикБУ - 6 Ноя 2019 14:56:06
Вывод записи из ListBox в ячейку Excel
 
PooHkrd, без проблем  :) . Пока что до идеала не дошел, выводит немного лишних символов  в ячейке, но работает :) Буду еще улучшать
Код
 With Sheets("Baza")
        
        iLastRow = .Cells(.Rows.Count, 4).End(xlUp).Row + 1
        
        .Cells(iLastRow, 2) = Date & " , " & Time
        .Cells(iLastRow, 4) = "Активный"
        .Cells(iLastRow, 5) = Me.cbTable.Value
        .Cells(iLastRow, 6) = Me.tbPeople.Value
        
        For i = 0 To Me.lbTabZakaz.ListCount - 1
               
                m = .Cells(iLastRow, 7).Value
                .Cells(iLastRow, 7).Value = "|" & m & "|" & Me.lbTabZakaz.List(i, 1)
            
        Next i

End With
Изменено: АналитикБУ - 6 Ноя 2019 14:45:39
Вывод записи из ListBox в ячейку Excel
 
Задачу решил.
Нужно привести в правильный формат номера телефонов
 
Попробуйте как тут показано https://www.planetaexcel.ru/techniques/7/7751/
Вывод записи из ListBox в ячейку Excel
 
Пытливый, Благодарю за разъяснения по вопросу №2.

По первому вопросу я имел введу что у меня информация из lbTabZakaz не записывается в 7 столбце таблице Baza. Может конечно и запись происходит но я не чего не вижу в таблице.
Изменено: АналитикБУ - 6 Ноя 2019 13:15:07
Как собрать статистику в какое время суток больше обращений, Не знаю как упростить себе жизнь
 
Вариант со сводной таблицей и графиком
Вывод записи из ListBox в ячейку Excel
 
vikttur, Нужную строку не выделяю. Я хочу все записи, которые есть в lbTabZakaz объединить в одну строку через ";" и потом вывести это все в .Cells(iLastRow, 7)
Но видимо что, то не так пошло.
Вывод записи из ListBox в ячейку Excel
 
Добрый день форумчане.

Пробую решить следующую задачу.

Имеется форма для ввода информации. В форме произвожу формирование заказа, который записываю в ListBox, также расположенный на этой же форме.
После того, как заказ собран, нажатием на кнопку "Сформировать заказ" произвожу запись заказа из ListBox на лист Baza.

Но вот в чем заключается вопрос:
1. Программа отрабатывает и не выдает никакой ошибки, но информация с ListBox не выводиться в ячейку.
2. Запись всегда производится в одну и ту же строку, не переходя на следующую

Прошу взглянуть на код, и подсказать что я делаю не правильно и как сделать корректно. (пример приложен)
Сбор конкретных данных из разных книг в одну таблицу
 
EvgeniyLFC, без примера и из того, что вы написали предположу, что после обработки файла вы выгружаете каждый запрос на новый лист вашей активной книги, в которой хотите построить сводную.

Вместо выгрузки на лист, сделайте только подключение. Далее все ваши запросы объедините в один, также через PQ. Далее решайте как вы ходите видите ваш объеденный запрос, в виде выгруженного на лист запроса или в виде сводной таблицы (если сводной) то запрос не обязательно выгружать на лист, можно сделать также просто подключение к полученному сводному запросу и построить сводную таблицу на основе запроса.
Извлечение правой части динамического текста
 
Роман, если у вас нет требования решить задачу только формулами и excel у вас версии 2013 и старше, то можно решить задачу через Power Query.

выделяете диапазон из которого вам требуется получить правую часть значения ячейки, и выполняете операции:

Вкладка "Данные" - Из таблицы или диапазона - откроется окно запроса - вкладка "преобразование" - столбце "Текст" - извлечь текст после разделителя.
А дальше просто вставите ваш разделитель и получите результат. Останется только закрыть и загрузить полученные значения на нужны вам лист и в нужную ячейку  
Изменено: АналитикБУ - 14 Июл 2019 15:53:41
Объединение данных в таблице
 
vikttur, правила почитал, на вооружение взял.
Записать в ячейку системное время
 
Если вам нужно чтобы информация о времени записывалась от изменения ячейки, а не от нажатия на кнопку сохранить то можно использовать формулу:
если(а1>0;СЕГОДНЯ();"", формулу ставите в ячейку b1 (например)
Объединение данных в таблице
 
maxrambov если не требуется динамического пересчета количества "остатка" после изменения "остатка" в предложенной вами форме (т.е. вам нужна просто сведенная таблица) - то готов.

ссылка  на пример результат: Пример итоговой

Если все-таки требуется динамический пересчет, то также готов, но чуть за более высокую стоимость.
Страницы: 1
Наверх