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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 121 След.
Как с помощью VBA вводить значения через ComboBox столбцы со смещением.
 
Доброго.
В коде формы есть строка
Buyer = Me.ComboBox1.ListIndex + 1  , замените 1 на 39 (это номер столбца АМ)
Поиск по выпадающему списку только на определенных листах в определенных ячейках
 
В основном модуле (MainModule) закомментируйте или удалите строку 'Option Private Module.
Форма запускается макросом Sub MyStartFindInDropList() - назначьте его фигуру и будет запуск формы.
Расширенный функционал функции "ПОДСТАВИТЬ"
 
А я чё, я и не против. Видел - предупреждали. Что просили - то и показали. А это просто вильнул в сторону.
Расширенный функционал функции "ПОДСТАВИТЬ"
 
Цитата
БМВ написал:
Та хоть 5
Тогда лучше таблицу подстановок и простой ВПР() подтягивать данные.
Как растянуть формулы в столбце, чтобы автоматически в последующей ячейке добавлялось -1 к формуле?
 
А в чем сакральный смысл сего действа? Ведь результат всегда у Вас равен 2.

А если Вам надо вычитать =СТРОКА()-СТРОКА(K1). Или просто возьмите в формуле ссылку на любую ячейку для получения нужного номера строки =СТРОКА(K2)
Запуск макроса при помощи выпадающего списка
 
Цитата
melnik542 написал:
Где этому учат и сколько это стоит?
Я учусь на форуме и это бесплатно;) Т.е. даром. Необходимо наличие интереса и желания самостоятельно разбираться с задачами.
П.С. На работе прошел курс для ПРОДВИНУТЫХ пользователей за счет работодателя - первый класс средней школы по сравнению с форумом. Единственное систематезировал знания и познакомился с Exc2016, PP, PQ.
Запуск макроса при помощи выпадающего списка
 
У Вас изменения должны отслеживаться в столбце 15, в строке 1 - заголовок
lR = Target.Row - присваеваем переменной значение равное строке в которой произошло изменение.
а дальше - копируем и втавляем как значения в ячейках контролируемой строки А:О
Запуск макроса при помощи выпадающего списка
 
Так похоже?
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lR As Long

If Target.Column = 15 Then
If Target.Row > 1 Then
If Target.Value = "Отгружен" Then
   lR = Target.Row
   Range(Cells(lR, 1), Cells(lR, 15)).Value = Range(Cells(lR, 1), Cells(lR, 15)).Value
End If
End If
End If
End Sub
Изменено: Igor67 - 18 дек 2019 22:30:47
Как определить последнюю ячейку на листе через VBA?
 
На сайте были решения по сбору данных с разных файлов в один. Посмотрите рашения от Pavel55.
http://www.planetaexcel.ru/forum.php?thread_id=3878
http://www.planetaexcel.ru/forum.php?thread_id=4420
удаление ячеек в строке с определенным шагом
 
Скрытый текст
Ваш шаг не понятен, сами Вы его не указали. Вариант - задаете его ручками по номеру столбца (=СТОЛБЕЦ())
Автоматическое создание новой строки ориентируясь на условие из другого листа
 
Цитата
Wes13 написал:
* Есть ли формула создания новой строки (не VBA, а именно Excel формула что бы выполнялась по условию, а не по нажатию кнопки)
Таких формул нет. Формулы не могут изменять, вносить данные и производить прочие действия. Но можно попробовать формулами сделать так. что бы это выглядело похоже. Так, как нет формул показывающих перенос данных маленький пример как отобразить сотрудников...
Формула... (в файле хотел динамический диапазон делать поэтому там сложнее, но это лишнее )
Скрытый текст
Изменено: Igor67 - 29 ноя 2019 21:18:18
Обращение к объектам на форме в VBA
 
С.М.,спасибо. Утащил в свою копилку.
Обращение к объектам на форме в VBA
 
БМВ, спасибо. Возьму и этот вариант на вооружение.
Разрешить вставлять только значения
 
Цитата
radii01 написал:
можно ли настроить нужный лист (ну или книгу)
Можно! Только необходимо знать надо это делать 1 раз в день, или после каждого изменения данных. Открыты обе книги в момент изменения данных, или ... а может просто спец вставка - значения Вам в помощь будет и простенько и без ошибок:)
Заполнение уведомлений о прибытии иностранцев, проставить формулы и упростить заполнение
 
В Екс можно заполнять только 1 раз, а в других ячейках просто ссылку на эти данные =A1, и т.д. 50% работы Вы делать не будите:)
Обращение к объектам на форме в VBA
 
К объектам TextBox  на форме можно обратиться по его имени Me.Controls( "TextBox" & i), или просто по индексу в коллекции создаваемых объектов Me.Controls(i) в порядке их добавления на форму. При этом индекс отображается в TabIndex.
Где то, что то я сделал и внутренний порядок изменился. Проставление  TabIndex в рукопашную через свойства или View - Tab Order,  не влияет на "внутренний счетчик".
Собственно вопрос - можно ли поменять индексы в коллекции элементов на форме?
Это необходимо для обработки их в цикле в определенном порядке.
Решение нашел  Me.Controls( "TextBox" & i) = aArray(i) при заполнении формы, и на сайте у П.Ю. Климова через массив имен в заданном порядке при выгрузке в таблицы.
Код
lCol = 1
For Each iName in aArray("TextBox1", "TextBox5",...)
.Cells(lRow, lCol).Value = Me.Controls(iName).Value
lCol = lCol +1
Next
Формула =ИЛИ, (нужно презентацию сделать в пойнт)
 
Функция ЛОГИЧЕСКАЯ. Проверяет ИЛИ(сдал зачет; не сдал) все равно какое-то из утверждений будет ИСТИНА. Но в принципе возможен вариант зависнуть в воздухе, тогда результат будет ЛОЖЬ.
Нарастающее число в ячейке
 
Смотрите вариант с кнопкой.

Мне кажется что у Вас несколько не правильный подход;) Вы пытаетесь считать в ОТЧЕТЕ. У вас уже есть куча листов с данными, добавьте еще один с таблицей в которую вы будете заносить исходные данные в табличной форме с данными по неделям и итогом, и уже оттуда тянуть данные в отчет.
                 Автобус  Трамвай
Итого
Текущая

Неделя1
Неделя 2
При этом у Вас сохранятся промежуточные данные, простая СУММ() будет считать нарастающий итог, а скопировать Текущую строку данных (или столбец) в низ таблицы макросом легче и не надо изгаляться считая строки и столбцы для внесения данных. Да и проверку даты внесения легко организовать и удалять повторы. Мой макрос это не делает и Вы легко можете нажать пару раз мышом. Можете в конце макроса вставить MsgBox с сообщением об окончании работы макроса.
Высчитать определенную сумму из процентов
 
Или ВПР с неточным соответствием =ВПР($E$18;$A$23:$C$28;3;1) Таблица данной формулы
Баллы проверкиПризовые
00% - 49,99% -1000
5050% - 74,99%-500
7575% - 79.99%0
8080% - 94,99%500
9595% - 100%1000
1001000
Сдвиг таблицы на ячейку с сегодняшним числом при открытии
 
Код
Private Sub Workbook_Open()
    Dim n As Long, FoundRng As Range
    
    Set FoundRng = Cells.Find(What:=Date, LookIn:=xlFormulas, LookAt:=xlWhole)
    If Not FoundRng Is Nothing Then
        n = FoundRng.Column - 7
        Cells(1, 6).Select
        ActiveWindow.SmallScroll ToRight:=n
    End If

End Sub


Попробуйте вставить этот код в модуль ЭтаКнига
Получение и присвоение значения ячейки с другого листа в VBA
 
И еще, а зачем Вам цикл? Присваиваем сразу значение диапазона.
Код
Dim i As long
i = Worksheets("Лист1").Range("K2").value

    Worksheets("Лист2").range(Cells(3, 19),Cells(i, 19)).Value = Worksheets("Лист1").range(Cells(3, 1),Cells(i, 1)).Value
Изменено: Igor67 - 23 дек 2016 23:09:43
Получение и присвоение значения ячейки с другого листа в VBA
 
 У Вас объявлена 1 переменная i, цикл определен для переменной j, а номер строки в Cells(n
Определить последнею строку после фильтра,
 
2 vikttur, а не факт:) Вдруг надо не на листе, а именно последнюю видимую.
тогда вероятно так:
.Cells(.Rows.Count, 6).End(xlUp).SpecialCells(xlCellTypeVisible).Row
По ссылке коллекция вариантов по определению последней строки.
'ZVI:2009-01-11 Last cell/row/col with constant / formula / comment
'Also refer to: http://www.planetaexcel.ru/forum.php?thread_id=8203
Макрос даты по календарю.
 
По Вашим данным в модуль ЭтаКнига
Код
Private Sub Workbook_Open()
Dim strMonth As String, lDay As Long, rngDate As Range
strMonth = LCase(Format(Date, "mmmm"))
lDay = Day(Date)

Range(Range("A2"), Range("A2").SpecialCells(xlLastCell)).Interior.Pattern = xlNone
    
Cells.Find(What:=strMonth).Select
Set rngDate = Range(Cells(ActiveCell.Row, ActiveCell.Column - 2), Cells(ActiveCell.Row + 7, ActiveCell.Column + 4))
    rngDate.Find(What:=lDay).Interior.Color = 65535

End Sub
Функция "Если" с текстовым параметром в вычисляемых полях
 
Так похоже?
Код
=ЕСЛИ(ИЛИ(ЛЕВСИМВ(C3;1)="Д";ЛЕВСИМВ(C3;1)="Р");B3;0)
Создание итогового листа
 
А зачем нам знать количество листов? Вставляем итоговый лист,  Вводим формулу СУММ, выделяем первый лист,  SHIFT+последний лист с данными. А если потом если вставлять листы с данными МЕЖДУ первым и последним листом в формуле - они попадут в диапазон расчета.
Создание итогового листа
 
Ну и пример у Вас  :(   Может так?
Код
=СУММ(Иванов:Сидоров!B6)
 
Темп прироста, если есть пустые ячейки
 
Не понятно, но если нужно просто считать по отношению к предыдущим данным, то формула в столбец В
Код
=ЕСЛИОШИБКА(B2/ИНДЕКС($A$2:B2;1;ПОИСКПОЗ(3E+307;$A$2:A2;1))*100;"") 
выбор крайних значений в матрице
 
Можно и на ВБА, а формула не подойдет? Вставьте ее в N2 и протяните на весь диапазон.
Код
=ИНДЕКС($B$2:$L$12;СТРОКА($A1);ПОИСКПОЗ(9E+307;$B2:$L2;1)) 
Изменение порядка строк в сводной таблице
 
Из недр форума  :)  
Цитата
Можно еще так:
1. Заходим Сервис-Параметры-Списки, создаем список с нужной нам последовательностью.
2. Выделяем в сводной таблице диапазон который надо отсортировать.
3. Заходим Данные-Сортировка-Параметры. В поле Сортировка по первому ключу, выбираем созданный нами список и все.
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 121 След.
Наверх