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

Страницы: 1 2 След.
Сравнение двух диапазонов из разных таблиц макросом без массива
 
Kuzmich, благодарю
Сравнение двух диапазонов из разных таблиц макросом без массива
 
Добрый день уважаемые.

Имеется две таблицы. Данные 1 и Данные 2.
Значения в таблицах одинаковые, но в Данные 2 некоторых не хватает.

Хочу через цикл сравнить строчки по двум условиям это по названию столбца 1 и по диапазону значений.
Далее в столбец 2 таблицы Данные 2 вывести недостающее значение из таблицы 1.

Прошу помочь решить данную ситуацию с применением макроса. В таблицу Данные 2 нужно выводить (копировать) именно ячейку а не перезаписывать всю строку значений.
Сбор данных из разных листов с автоматической сортировкой в алфавитном порядке
 
rudik, посмотри в сторону Power Query.
Функция "Объединить запросы".

В PQ обработаешь, как требуется, а результат "Итог" выведешь в виде сводной таблицы.

Останется только поиграть с представлением.
Получить из ячейки свойства .Text определенные значения
 
Андрей_26, благодарю
Получить из ячейки свойства .Text определенные значения
 
Nordheim, всегда пробел
Получить из ячейки свойства .Text определенные значения
 
Цитата
Андрей_26 написал:
Так в примере только одни ТТ, а где "Т" и "м3" , что там еще ?
В данном случае представлена часть информации и при обновлении, если значение будет меньше определенного кол-ва, то ТТ смениться на Т.
Получить из ячейки свойства .Text определенные значения
 
Михаил Витальевич С., спасибо за формулу, но к сожалению, макрос обязателен.
Получить из ячейки свойства .Text определенные значения
 
Добрый день, форумчане.

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

Знаю (предполагаю), что ячейка со значением в свойстве .Text хранит запись похожую на - 1000,500 ТТ  (или Т/м3) - единицы измерения. В примере только ТТ.
Хочу при помощи макроса обратиться к ячейкам расположенным на пересечении строк и 2го столбца и из свойства Text ячейки вытащить единицы измерения, т.е. эти 1-2 буквы (Т, ТТ, м3) в столбец следующий после  последнего столбца таблицы.

Прошу подсказать как это сделать.
Изменено: АналитикБУ - 12 фев 2020 14:49:09
Как с помощью макроса получить уровень отступа в строке и записать в ячейку
 
Kuzmich, благодарю за помощь.
И правда получается.  
Как с помощью макроса получить уровень отступа в строке и записать в ячейку
 
Добрый день уважаемые форумчане.

Искал вариант макроса, который бы позволил бы проанализировать столбец А, в котором записаны названия строк, и определить уровень каждой записи в ячейке.
Полученный номер уровень отступа записать в столбец G напротив соответствующей строки. Хотел решить этот вопрос с помощью свойства .IndenLevel, но к сожалению из сводной таблицы вытащить уровень отступа не удалось.

Прошу подсказать, чем можно заменить .IndentLevel или как можно решить задачу.
Оптимизировать код форматирования строк
 
Дмитрий(The_Prist) Щербаков, Благодарю
Оптимизировать код форматирования строк
 
Дмитрий(The_Prist) Щербаков, код разрабатывался совместно. Та часть что работает достаточно быстро. предоставлена.
Моя же как раз та про которую вы сказали. Связана с форматированием. И вы правильно поняли что она отрабатывает медленно.
Спасибо за подсказку с диапазонами.

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

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

Писал так:
Код
Sub Clean()
   With Sheets("ОтчетнаяФорма")
       Dim t As Integer
       Dim iLastRow As Long
       iLastRow = [A12].End(xlDown).Row
            For t = 12 to iLastRow
                If Cells(t,1) <> "" Then Rows(t).Delete
            Next t
    End With
End Sub


Оптимизировать код форматирования строк
 
Добрый день, уважаемые форумчане.

Прошу строго не судить я только учусь , :)
взглянуть код и помочь оптимизировать его.

Вопрос не по теме удален
Изменено: АналитикБУ - 6 фев 2020 10:37:46
При обновлении сводной таблицы слетает набор "значений"
 
Дмитрий(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 2 След.
Наверх