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

Страницы: 1
Не хочет автомтически обновлятся Worksheet_Change
 
В настройках безопасности включил "все макросы", но при изменении ячейки А1 ничего не происходит. Файл с примером приложил. В барабан стучал, но возможно мало.
Получить список имен умных таблиц на активном листе
 
Хочу сделать универсальный макрос, на любом листе будет по две умных таблицы и надо получить список имен умных таблиц и присвоить им две переменные.
Я пока научился узнавать имя активного листа и присваивать это имя переменной.
Изменено: Faiber - 21.03.2024 06:58:20
Выделить столбцы в умной таблице
 
Выделить столбцы в умной таблице. Сложность в том, что я хочу название таблицы столбцов оформить в виде переменных.
Как правильно сослаться на переменную
 
Здравствуйте.
Помогите с двумя моими трудностями:

1. В одном месте к примеру  задаем переменную таблицу:
Код
Set Tabl2 = ListD.ListObjects("Таблица2")
Но вот дальше я не понимаю как правильно сослаться уже на Tabl2, вот часть кода, которую я хотел бы заменить:
Код
Set Rg1 = Range("Таблица2[Moy_UID]")
Rg1.Select
и такой
Код
Range("Таблица2[[#Headers],[Moy_UID]]").Select

2. Как в таком примере правильно прописать переменную с названием столбца, т.е. я бы хотел в начале кода сделать строку, где я могу один раз указать нужный столбец, а не искать его по всему телу макроса в разных местах.:
Код
Range("Таблица2[[#Headers],[Moy_UID]]").Select
Определить номер столбца на листе, при этом
 
Здравствуйте.
Хочу  задать переменную в виде пордякового номера столбца на листе, и при этом этот столбец является последним столбцом умной таблицы. Т.е. мне надо обратиться к умной таблице, узнать ее последний столбец и получить номер (цифру) столбца листа, на который приходится последний столбец умной таблицы.
Задать адрес ячейки в виде переменных номера столбца и номера ячейки
 
 Не получается задать адрес ячейки из двух переменных. Кто-то знает как это решить?
Код
Set Rg1 = Range("Таблица2[Moy_UID]") ' определяем диапазон
Rg1.Select ' выделяем диапазон
RowsRg1 = Selection.Rows.Count ' определяем количество строк в выделенном диапазоне

' Узнаем и присваеваем сколько заполненнных столбцов в таблице
Set Rg2 = Range("Таблица2[#Headers]")
Rg2.Select ' выделяем диапазон
ColumnsRg2 = Selection.Columns.Count ' определяем количество столбцов в выделенном диапазоне

' Определяем и задаем диапазон таблицы
Set a = Range("A2")
Set b = Range(RowsRg1, ColumnsRg2) ' ТУТ ОШИБКА!!!!!!!!!!!!
Set Tabl = Range(a, b) 'Таблица с данными
Уменьшить выделенный диапазон на одну строку
 
Есть умная таблица, выделяю один столбец и потом нужно строки выделенного диапазона удалить, но я хочу одну строку из выделенного диапазона не удалять. Думаю надо выделенный диапазон уменьшить на одну строку. Два часа потратил и не смог понять, как изменить выделенный диапазон (((
Код
Range("Таблица1[Данные]").Select
Изменено: Faiber - 06.03.2024 18:06:26
Выбрать только первое уникальное значение при совпадении
 

Приветствую.

Пока даже мыслей, возможно ли такое формулой сделать

Есть столбец в котором список ID, бывают повторы. В следующем столбце назовём его «Признак» иногда стоит значение «1».

И вот в третьем столбце мне нужно, если в столбце «Признак» по строке где стоит знак «1» занести значение ID, но есть как раз самый сложный НЮАНС, что сюда надо перенести только ID, которые в этом столбце ранее не упоминались.

В файле примере вне таблице я в желтых ячейках пытаюсь показать, как в идеале должно быть.

Сравнить данные в 3 столбцах на разных строках
 
Не как не могу понять как сравнить каждую ячеку из первого столбца с двумя другими и при наличии данных в обоих столбцах не зависимо от строк.
В файле примере я руками заполнил столбец с заливкой. А вот автоматизировать не могу. Догадыаюсь, что это надо делать формулой массива, но как не знаю ))
Изменено: Faiber - 12.06.2023 07:16:34
Выделить диапазон
 
Подгоняю под другие задачи чужой макрос, написанный для меня на инопланетном языке. )))
В общем надо выделить данные в столбце и обработать их. Но выделение не происходит (((

 
Код
DataSt46ZaemchikCol = loTablel.ListColumns(sDataSt46ZaemchikCol).Index

Код
            loTablel.DataBodyRange(DataSt46ZaemchikCol).Select
            Set range1 = Intersect(ActiveWindow.RangeSelection, ActiveSheet.UsedRange)
             For Each cell In range1
                If IsDate(cell.Value) Then cell.Value = CDate(cell.Value)
            Next cell

Как мне выделить столбец с названием DataSt46ZaemchikCol?

 

Как правильно написать в VBA сравнение
 
Мне нужно проверить сравнение в макросе

Как правильно написать?

if FIO <> "ФИО продавца" Then

Сдается мне, что это не правильно. ((((
Как в сводной таблице посчитать процент от другого столбца
 
Как в сводной таблице посчитать процент от другого столбца?
Выделить нужный диапазон и удалить столбцы на листе
 
Не получается удалить столбцы.
Код
ThisWorkbook.Worksheets("База").Activate
ThisWorkbook.Worksheets("База").Range("База[[#Headers],[Возраст]]").Select
AdressColumnFist = ActiveCell.Address
MsgBox (AdressColumnFist)
ThisWorkbook.Worksheets("База").Range("База[[#Headers],[Конец]]").Select
AdressColumnLast = ActiveCell.Address
MsgBox (AdressColumnLast)
Columns("AdressColumnFist:AdressColumnLast").Select
Selection.Delete Shift:=xlUp
Изменено: Faiber - 20.05.2023 10:04:06
Макрос слияния данных с разных листов
 

Здравствуйте.

Возникла необходимость, но я не знаю возможно ли вообще такое сделать на VBA.)))

Мой уровень знаний VBA пока очень печальный, но я сейчас активно пытаюсь научится, но пришла непосильная для меня задача.

Есть два листа «База» и «Данные»

Есть уникальный ID на обоих листах

Надо подтянуть именной диапазон с листа «Данные» на лист «База» при определенных условиях: - совпадает ID;

- заполненные в ячейки в столбцах «Дата актуализации»; «ФИО» и «Признак завершения»

- в случае если дата на листе «Дата» позже, чем на листе «База» эта строка тоже обновляется.

Чтоб в дальнейшем можно было на листе «База» беспроблемно добавлять столбцы, я всем параметрам присвоил Именные диапазоны. Они на обоих листах одинаковые. Так как в стобцы на листе "База" могут добавляться.

Уже присвоены следующие именные диапазоны.

ThisWorkbook.Worksheets("База").Range("Данные_ID")

ThisWorkbook.Worksheets("База").Range("Данные_Переменные")

ThisWorkbook.Worksheets("База").Range("Данные_Дата_актуализации")

ThisWorkbook.Worksheets("База").Range("Данные_ФИО")

ThisWorkbook.Worksheets("База").Range("Данные_Признак_завершения")

Изменено: Faiber - 19.05.2023 07:00:25
Как в выделенном диапазоне имен формулы преобразовать в значения
 
Начал создавать макрос, чтоб в выделенном диапазоне имен формулы заменить на значения. Начал и тут же остановился.

ThisWorbook.Worksheets("тест").Activate
ThisWorbook.Worksheets("тест").Range("Значения ").Select

а дальше что не пытался, выдает ошибку
Заполнить данные по двум условиям
 
Я только начинаю изучать Эксель.
Столкнулся с такой задачей. Может кто сможет помочь.
Нужно заполнить ячейки на основании данных другой таблицы. Формулами я не мог решить вопрос, о написании макросов два дня назад начал читать книгу, а задачу надо решать в ближайшее время.
Очень надеюсь на помощь сообщества.
Страницы: 1
Наверх