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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 118 След.
Поиск и вывод всех дат заказов по номеру позиции товара
 
снегурка, покажите лучше пример с ошибкой
Поиск и вывод всех дат заказов по номеру позиции товара
 
снегурка, Название темы:  Поиск и вывод всех дат заказов по номеру  позиции товара.

и еще вариант
Код
Sub dati()
Dim i As Double, k As Double, n As Double
Dim ilastrow As Integer, ilastrow2 As Integer, ilastcol As Integer, ilastcol2 As Integer
Application.ScreenUpdating = False

Worksheets("Лист3").Cells(3, 3).Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.ClearContents
    
ilastrow = Worksheets("Лист3").Cells(Rows.Count, 1).End(xlUp).Row
For n = 3 To ilastrow Step 1
    ilastrow2 = Worksheets("Заказы").Cells(Rows.Count, 1).End(xlUp).Row
    For i = 3 To ilastrow2 Step 1
        ilastcol = Worksheets("Заказы").Cells(i, Columns.Count).End(xlToLeft).Column
        For k = 3 To ilastcol Step 1
        ilastcol2 = Worksheets("Лист3").Cells(n, Columns.Count).End(xlToLeft).Column + 1
        If ilastcol2 = 3 Then
        ilastcol2 = ilastcol2 + 1
        Else
        ilastcol2 = ilastcol2
        End If
        If Worksheets("Заказы").Cells(i, k) = Worksheets("Лист3").Cells(n, 1) Then
        Worksheets("Лист3").Cells(n, ilastcol2) = Worksheets("Заказы").Cells(i, 1)
        End If
        Next k
    Next i
        If WorksheetFunction.Count(Range(Cells(n, 4), Cells(n, ilastcol2))) > 0 Then
        Worksheets("Лист3").Cells(n, 3) = WorksheetFunction.Max(Range(Cells(n, 4), Cells(n, ilastcol2)))
        Else
        Worksheets("Лист3").Cells(n, 3) = ""
        End If
Next n
Application.ScreenUpdating = True

End Sub
Изменено: Mershik - 19 Фев 2020 12:20:59
Поиск и вывод всех дат заказов по номеру позиции товара
 
снегурка, Добрый день...название темы общее вам бы конкретно написать(:
Цитата
снегурка написал:
вставить в последний лист все даты заказов  по наименованию товара и найти последнюю дату
но поменять у вас уже не выйдет предложите в тексте письма а модератор придет и поменяет) и решение быстрее получите...

даты могут повторятся для одного и того \же товара?
Как сделать, чтобы макросы могли работать в неактивной книге?, Vba
 
Dihlofos881, может
with workbook("dffdf")

end with

https://www.excel-vba.ru/chto-umeet-excel/kak-obratitsya-k-diapazonu-iz-vba/
Изменено: Mershik - 19 Фев 2020 09:19:38
Агрегирование данных по заданным условиям
 
cants, для 1
Код
=СУММЕСЛИМН(лист2!$C:$C;лист2!A:A;A2;лист2!B:B;B2;лист2!D:D;"<>0")
Умножение на % числа в ячейке, Помощь школьнику
 
PavelSco, макросом


Код
Sub nacenka()
Dim nacenka As Integer
Dim MyRange As Range
Dim k As Single

Set MyRange = Application.InputBox(Prompt:="Выберите диапазон", Type:=8)
k = Application.InputBox(Prompt:="Укажите коэффициент", Type:=1)

For Each cell In MyRange
   cell.Value = Round(cell.Value * k, 2)
    Next cell
End Sub
Изменено: Mershik - 18 Фев 2020 17:24:11
Автозаполнение ячейки по двум переменным (опт или розница) из форме ввода
 
and1311, только в зависимости от статуса? может все таки еще и продукции?
Код
=ПРОСМОТР(2;1/(($C$3=Справочник!$A$2:$A$52)*(Справочник!$B$2:$B$52='Форма ввода'!F3));ИНДЕКС(Справочник!$2:$2;1;ПОИСКПОЗ('Форма ввода'!C7;Справочник!$1:$1;0)):ИНДЕКС(Справочник!$52:$52;1;ПОИСКПОЗ('Форма ввода'!C7;Справочник!$1:$1;0)))
Изменено: Mershik - 18 Фев 2020 15:09:57
Удаление строки по двум условиям
 
Yum, в старом коде идет удаление каждой строки, т.е. если совпало условие удаляем строку и идем дальше проверять выше, снова выполнились условия и снова удалили... каждое удаление строки кушает ресурсы т.е. нужно нужно екселю внести изменения в номера строк так как они изменились и т.д. и т.п.

а эта часть кода позволяет так сказать аккумулировать все строки и после  за 1 раз удалить их т.е. когда будет у вас много строк для удаление 1 макрос будет выполнятся на порядок дольше...можно проверить)

Ради интереса проверил, размножил вашу таблицу до 25 тысяч строк...
1 макрос работал 266 секунд
2 макрос 22 ...
 
Код
If rr Is Nothing Then  Set rr = Cells(i, 1)
Else
Set rr = Union(rr, Cells(i, 1))
End If
Изменено: Mershik - 18 Фев 2020 14:15:39
Найти максимальное значение и присвоить имя из списка
 
Цитата
dim284 написал: Нужно найти максимальное число и отобразить соответствующее ему  значение из столбика "А"
впр или индекс поискпоз... но могут быть трудности в части если максимальных значений с одинаковым значением несколько отразит только ячейку 1 найденную с этим числом.
Код
=ИНДЕКС($A:$A;ПОИСКПОЗ(МАКС($B:$B);B:B;0);1)
Макрос дублирование строк в заданном диапазоне, Доработка существующего макроса
 
Konstanta, так в какой строке у вас шапка?
если шапка в строке №1
то ничего менять не нужно
если в другой  To 2 заменить  на тот номер строки в которой у вас шапка + 1
Код
For i = lr To 2 Step -1 'Цикл от последней ячейки до второй
Изменено: Mershik - 18 Фев 2020 10:42:46
Выборка значений по нескольким вкладкам
 
Emelion,
Формула по отбору данных и группировка их в др таблице
 
petlya, ну в любом случае вам дали
Цитата
petlya написал:
направьте
направление)
а конкретный вопрос решается только при наличии файла-примера с исходными данными и желаемым результатом.
Формула по отбору данных и группировка их в др таблице
 
petlya, ну так сводная и обновляется ...
Формула по отбору данных и группировка их в др таблице
 
petlya, или попробуйте сводную таблицу сделать  
Копирование строк в таблице в зависимости от числа в ячейке, Задача размножить строки в зависимости от числа в ячейке
 
makaromax, попробуйте так..делал на коленке...
Код
Sub Копирование()
 Dim i&
    Application.ScreenUpdating = False
    ilastrow = Cells(Rows.Count, 1).End(xlUp).Row
    
    For i = ilastrow To 5 Step -1
    k1 = i + 1
    k2 = Cells(i, 2).Value
    Rows(k1 & ":" & k2 + k1 - 2).Insert
    Rows(k1 - 1).Copy Rows(k1 & ":" & k2 + k1 - 2)
    
    Next
    Application.ScreenUpdating = True
    

End Sub
Разрешить ввод данных сегодняшним днем или задним числом
 
Совет ...Покажите в файле исходные данные, затем на отдельном листке что куда вводятся и что должно получится и в каком видео без лишней информации в файле и лишних листов это поможет понять что же все таки хотите  
Многоуровневый выпадающий список на три уровня сегментации
 
SvetaShel, так и больше ступеней делать можно просто нужно данные ваши преоброзовать в такой вид и все
Сумма в изменяемом диапазоне. Поиск последней строки диапазона по значению >0 в другом диапазоне
 
jentoser, открывается не понятна логика ...вот вы в комментарии написала в ячейке О69 - "Евгений:
Здесь должно быть суммирование G2:G69"
почему?? если между ними много других  значений в столбце С....
какая логика столбца N&
Изменено: Mershik - 16 Фев 2020 20:59:25
Многоуровневый выпадающий список на три уровня сегментации
 
SvetaShel, а это смотрели ?https://www.planetaexcel.ru/techniques/1/38/
добрый вечер.
Удаление строки по двум условиям
 
Дмитрий(The_Prist) Щербаков, vikttur, в следующий раз double буду))) и тогда удаление строк по одной так же не очень практично).

ЗЫ я только учусь...спасибо за практические советы
Код
Sub udalit_stroki()
' (если значение ячейки = значению вышестоящей ячейки
'И сумма по этой же строке меньше чем в вышестоящей, то строку удалить )
Dim ilastrow As Double
Dim i As Double
Dim rr As Range
Dim arr

ilastrow = Cells(Rows.Count, 1).End(xlUp).Row
arr = Range(Cells(2, 1), Cells(ilastrow, 1))
    For i = ilastrow To 2 Step -1
        If Cells(i, 1) = Cells(i - 1, 1) And Cells(i, 2) < Cells(i - 1, 2) Then
        If rr Is Nothing Then
                Set rr = Cells(i, 1)
            Else
                Set rr = Union(rr, Cells(i, 1))
            End If
        End If
    Next i
    If Not rr Is Nothing Then rr.EntireRow.Delete
End Sub
Изменено: Mershik - 16 Фев 2020 18:25:00
Сумма в изменяемом диапазоне. Поиск последней строки диапазона по значению >0 в другом диапазоне
 
jentoser, ну потому  что изначально вопрос был иной...второй вопрос мне не понятен, покажите в файле что долно получится
Сумма в изменяемом диапазоне. Поиск последней строки диапазона по значению >0 в другом диапазоне
 
jentoser
Код
=ЕСЛИ(N110>0;СУММ(ИНДЕКС($G$1:G109;ПРОСМОТР(2;1/(($N$1:N109>0)*($C$2:C110=C110));СТРОКА($N$1:N109))+1;1):G110);"")
Изменено: Mershik - 16 Фев 2020 17:32:29
Сумма в изменяемом диапазоне. Поиск последней строки диапазона по значению >0 в другом диапазоне
 
jentoser, не самый быстрой, но вроде то что нужно в О110
Код
=ЕСЛИ(N110>0;СУММ(ИНДЕКС($G$1:G109;ПРОСМОТР(2;1/($N$1:N109>0);СТРОКА($N$1:N109))+1;1):G110);"")
Разрешить ввод данных сегодняшним днем или задним числом
 
richi666, информативно
С чего начать изучение макросов (VBA)
 
freton20, лучший учитель - практика.
а так книги и сайты https://www.planetaexcel.ru/links/ и видео уроки (1 из вариантов https://www.youtube.com/channel/UCDd2VbwgxtsXtDGGWYY7vEQ)
Удаление строки по двум условиям
 
Yum, попробуйте так
Код
Sub udalit_stroki()
' (если значение ячейки = значению вышестоящей ячейки
'И сумма по этой же строке меньше чем в вышестоящей, то строку удалить )
Dim ilastrow As Integer
Dim i As Integer
ilastrow = Cells(Rows.Count, 1).End(xlUp).Row
    For i = ilastrow To 2 Step -1
        If Cells(i, 1) = Cells(i - 1, 1) And Cells(i, 2) < Cells(i - 1, 2) Then
        Rows(i).Delete
        End If
    Next i
End Sub
Выбор нескольких значений vba в сводной
 
kost757, файл пример показали бы с этой самой таблице (или похожей)  и желаемый результат...
Склейка текста по условию
 
Сергей Шистеров, доброго времени, суток. не стесняйтесь поиском пользоваться

https://www.planetaexcel.ru/techniques/7/205/
Быстрое выборочное копирование данных из нескольких листов в сводную
 
Эмини, ну желтым понятно что нужно скопировать ...а вопросу куда и как?
Фильтрация, выпадающий список, блокирование
 
eva_girl, форум, несоблюдение правил, блокировка  :D

а вообще тема с нарушениями - название в смысле)
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 118 След.
Наверх