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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 69 След.
Перезапись таблицы ListObject vba
 
Jack Famous,
спасибо, но это уже реализовано в файле-примере и проблемы, которые такой способ приносит описаны више.
Перезапись таблицы ListObject vba
 
RAN, вопрос не в том, чтобы формулу изменить - это я уже сделал.
вопрос как адекватно очистить таблицу перед вставкой новых данных.
ведь ламается не только УФ, но и "обычное"(см више).
Изменено: Dima S - 23 июн 2020 16:32:24
Как открыть ссылку макросом НЕ через IE?, Как открыть ссылку браузером по умолчанию или MS Edge?
 
что вы подразумеваете под "открыванием интернет-сайта по ссылке через VBA"?
просто переход по ссылке через браузер или получение каких то данных в переменную?(при этом не обязательно показывать что либо пользователю)
Перезапись таблицы ListObject vba
 
Цитата
sokol92 написал:
Если, например, просто выделить часть строк "умной" таблицы
речь идет не просто о части строк, а о полном их удалении и последующей вставки новых данных,
не поломав при этом вычисляемые столбцы, форматы столбцов и УФ.
Перезапись таблицы ListObject vba
 
Думал  уже нашел решение - не тут то было)
Цитата
RAN написал:
Поелику примера нет,
Вот пример.
RAN - ваш способ в макросе write_table2.
Обратите внимание на УФ - оно ломается.

При перезаписи с помощью write_table - нет.
Но появился другой баг - форматы с первой строки вроде бы копируются, но значения в этих форматах - только в первой строке, в остальных - срабатывает автоформат.
если же продублировать строку
     
Код
 .DataBodyRange.Resize(UBound(rezult), UBound(rezult, 2)).Value = rezult

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

Код
    Table.DataBodyRange.Rows(1).ClearContents
    Table.DataBodyRange.Offset(1, 0).Resize(Table.DataBodyRange.Rows.Count - 1, _
    Table.DataBodyRange.Columns.Count).Rows.Delete
Перезапись таблицы ListObject vba
 
Здравствуйте.
Поделитесь способом пожалуйста, как по нормальному перезаписать таблицу?
Проблема возникает, когда новых строк меньше, чем существующих.
Пробовал варианты:
1. Вычислить разницу между новым и старым размером, удалить лишние строки в цикле как
Код
                        Do While .ListRows.Count > rows_count
                            .ListRows(.ListRows.Count).Delete
                            Loop

При больших разницах - это долго.

2.
Код
  .DataBodyRange.Rows.Delete
  .ListRows.Add
  .DataBodyRange.Resize(UBound(rezult), UBound(rezult, 2)).Value = rezult

это быстро, но слетает условное форматирование, в котором ссылка на две строки таблицы.
Вариант с ClearContents оставляет форматирование внизу.
Вариант с удалением всей строки не подходит, так как влияет на другие таблицы на листе.
По этой же причине не подходит.Listrows(i).range.resize(dif_rows).delete
способа  удаления нескольких listrows за раз не нашел.
Иероглифы в vbaproject
 
в настройках виндовс - язык и региональные стандарты - для програм не поддерживающих Юникод выберите русский язык
Здесь подробнее.
Настройка переменного значение критерия/фильтра в умных таблицах, vba, macro
 
Цитата
Alex D написал:
по логическому условию. IF TRUE = "2"
логики здесь как раз не хватает.
Как получить время в миллисекундах?
 
Код
a = Format(Now(), "dd/mm/yyyy hh:nn:ss:ms")
Не получается сравнить значения в столбцах
 
Так?
Динамическая выборка по критерию DAX
 
все получилось, причем разными вариантами.
Всем спасибо.
Изменено: Dima S - 16 янв 2020 15:10:17
Динамическая выборка по критерию DAX
 
созданная "на лету" таблица не реагирует на разделитель.
Динамическая выборка по критерию DAX
 
Спасибо всем.
Цитата
PooHkrd написал:
таблица, то это проще через Power Query  все же сделать.
Нужна таблица, но я планирую перенести это дело в Power BI и выбирать дату с помощью разделителя.
А как передать выбранную дату в Power Query я не знаю.
В принципе и с DAX тоже проблемы.
Создал CALENDARAUTO  и меру
Код
CurDate = MAX('MyCalendar'[Date])

но почему то ни одно решение ( решение PooHkrd  все таки реагирует - у меня был какой то кривой виджет с магазина. со стандартным работает)   не реагирует на выбранное в разделителе значение.
Например в решении Андрея
Код
Таблица = Var vrows = FILTER('Таблиця1'; .'Таблиця1'[Date] < DATE(2019; 4; 21))

когда дата указанна жестко - все работает, если как мера - нет.

Можно это как то победить?
Изменено: Dima S - 15 янв 2020 10:57:52
Сбор результатов выдаваемых калькулятором расстояний
 
Grantorino,
а вы можете объяснить что конкретно нужно, ибо для меня пока ваши макросы выглядят достаточно бессмысленными.
Копирование строк, содержащих признак, на другие листы
 
Цитата
lenatoy написал:
как сделать по двум/трем и более признакам

например так - указать признак через разделитель, например запятую


Код
Sub Test()
    Dim iCell As Range, Priznak As Variant
    Priznak = Application.InputBox("признак переноса сроки", "Екатеринбург", "Екатеринбург")
    Priznak = Split(Priznak, ",")

    For Each iCell In Range("A2", [A2].End(xlDown))
        For i = lbound(Priznak) To Ubound(Priznak)
            If iCell = Priznak(i) Then
                With Sheets("ЕКБ")
                    iCell.EntireRow.Copy Destination:=.Cells(.Cells(Rows.Count, "A").End(xlUp).Row + 1, "A")
                End With
            End If
        Next i
    Next iCell
    MsgBox "строки скопированы на другой лист", vbInformation, ""
End Sub


а вообще лучше с файлом, конечно.
Связь(фильтр) данных между комбобоксами, Организация взаимосвязи между двумя комбобоксами
 
Цитата
Джек Восмеркин написал:
Что бы при выборе данных в комбобоксе подтягивались данные из другого комбобокса,
Подтягивались куда?
Задание неясно.
если нужно во втором боксе получить список на основании первого, то что то типа
sSQL = "Select distinct id2 FROM Itog WHERE id1 =" &  Me.ComboBox1.Value & "ORDER BY 1"
Динамическая выборка по критерию DAX
 
Здравствуйте.
Начинаю осваивать POWER)
В частности Power Pivot i Power BI.
Не могу сообразить как "на лету" сформировать таблицу.

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

Пока реализовал через CROSSJOIN справочника техники и календаря и подтягиваю местонахождение,
но такая реализация кажется мне какой то кривой.
Можно ли как то вычислить максимальную дату меньше указанной и вернуть список техники?
Спасибо.
вызываемая процедура с параметром меняет значение переменной в главной
 
Тю, ночью уже башка совсем не варит)
Спасибо)
вызываемая процедура с параметром меняет значение переменной в главной
 
Здравствуйте.
Собственно проблема в названии.
При выполнении например такого макроса
Код
Sub test()
    lr = 2
    Call subtest(lr)
    MsgBox (lr)
End Sub

Sub subtest(lr)
    lr = 3
End Sub

в сообщении будет 3, а не 2, как я ожидал.
Это так и должно быть? Я почему то думал, что lr subtest'a и lr test'a - это две разные переменные, пусть и с одинаковыми именами.
Поиск и выведение заданной комбинации чисел в разных ячейках идущих в ряд
 
как отправная точка)
Получение уникального списка из разных диапазонов и их дальнейшее суммирование по количеству.
 
Я думаю - необязательно все в один столбец лепить.
Обычная сводная поудобней будет.
Создание "динамического" табеля учёта рабочего времени, Табель рабочего времени, который не требует ежегодной корректировки
 
Здравствуйте.
В вашем ТЗ вы пытаетесь реализовать "бумажный" подход, только в електронном виде.
Если рассматриваете немного иной подход к составлению графика готов взяться.
Контакты в профиле.
Автоматическое удаление строк двых таблиц на разных листах
 
Код
Option Explicit
Private Sub Worksheet_Activate()
    Dim arr_in
    Dim tabl As Object
    
    arr_in = Sheets(1).Range("Òàáëèöà1").Value
    Set tabl = Sheets(2).ListObjects("Òàáëèöà2")
 
    If Not tabl.DataBodyRange Is Nothing Then tabl.DataBodyRange.ClearContents
    tabl.Resize tabl.Range.Resize(UBound(arr_in) + 1)
    tabl.DataBodyRange.Value = arr_in
End Sub

Как вычислить диапазон для каждого наименования продукции VBA
 
Цитата
dedua написал:
это и есть сводная
нет. Это обычный диапазон с данными.
Я имел ввиду объект сводная таблица.
Как вычислить диапазон для каждого наименования продукции VBA
 
Так можно это дело сделать сразу в сводной и никаких макросов не нужно.

Далее по коду - зачем вам вообще наименования?
Код
Sub разброс()
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row    ' количество строк в диапазоне

' цикл перебора значений в диапазоне и действий над ними
    For i = 1 To LastRow
        If Cells(i, 3).Value < 0 Then
            Cells(i, 4) = 0
        Else
            Cells(i, 4) = Cells(i, 3).Value
        End If
    Next i
End Sub

Разве этого не достаточно?
Изменено: Dima S - 20 сен 2019 14:35:29
[ Закрыто] Сумма чисел с условием >8
 
Предположим на форуме есть правила и с ними желательно ознакомиться.
Найти недостающие номера бланков
 
вариант "в лоб".
Изменено: Dima S - 18 сен 2019 03:05:59
Сводная таблица, числовой фильтр с условиями
 
Цитата
Vladimir Chebykin написал:
извращенный способ
Это точно)
Сводная таблица, числовой фильтр с условиями
 
можно загрузить пример для начала.
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 69 След.
Наверх