mechanix 85, для меня условия задачи непонятны. И на что 1,5кк тратят и к чему тут это уточнение мне не понятно. В общем, гуглите и задавайте уточняющие вопросы тому, кто задачу задал.
Формула массива (ФМ) вводится Ctrl+Shift+Enter Memento mori
mechanix 85, мало данных: ни себестоимости товара, ни за сколько товар продаётся. Стоимость оборудования ложиться на доход, а доход считать не из чего. Потому ответа для этой задачи не существует.
Формула массива (ФМ) вводится Ctrl+Shift+Enter Memento mori
Юрий М, спасибо. Иногда в гуглхроме использую последовательность: Ctrl+Shift+I после ПКМ по кнопке "Обновить страницу" и пункт меню "Очистка кэша и жёсткая перезагрузка".
Формула массива (ФМ) вводится Ctrl+Shift+Enter Memento mori
Сергей020487, макрос заполнения не привязан ни к правой, ни к левой таблице, а к самой нижней строке листа, где хотя бы одна ячейка была изменена пользователем. Разберитесь, что означает:
Код
SpecialCells(xlCellTypeLastCell)
Формула массива (ФМ) вводится Ctrl+Shift+Enter Memento mori
Jack Famous, здраствуйте. Прошу прощения, за дубль темы - по ключевой фразе не нашёл Ваше сообщение, т.к. в нём был скриншот. Как я понимаю, то эта ситуация не связана со страной. Если модераторы посчитают неуместной эту тему, то прошу удалить её. Я не со зла её создал...
Скрытый текст
При попытке отправить это сообщение, вновь вылез данный текст - только с третьего раза удалось отправить это сообщение.
Формула массива (ФМ) вводится Ctrl+Shift+Enter Memento mori
Сергей020487, почему я против вешать макрос на событие: 1) если столбцы с формулами скрыты, то смысл экселю "дёргаться" (отслеживать изменения на листе) и протягивать формулы? 2) с протягиванием формул лучше, ИМХО, справляются умные таблицы, если нет противопоказаний. 3) чтобы не создавать кнопку и не скрывать её от других пользователей, можно одной ячейке на двойной клик привязать запуск макроса (для того, кто будет видеть эти столбцы). Например, привязать запуск макроса к двойному клику по AN1:
в модуль листа Sheet1
Код
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, [AN1]) Is Nothing Then Call jjjFillDown: Cancel = True
End Sub
в отдельный модуль
Код
Option Explicit
Sub jjjFillDown()
Dim rngStartFillDown As Range: Set rngStartFillDown = [AN4:BV4]
Dim rngForFillDown As Range
Set rngForFillDown = Intersect(Cells.SpecialCells(xlCellTypeLastCell).EntireRow, rngStartFillDown.EntireColumn)
If rngForFillDown.Rows(1).Row > rngStartFillDown.Rows(1).Row Then
Range(rngStartFillDown, rngForFillDown).FillDown
End If
End Sub
Формула массива (ФМ) вводится Ctrl+Shift+Enter Memento mori
Сергей020487, протягивание идёт согласно выделенному диапазону. Выделите ячейки и выполните макрос. Не устраивает - опишите до куда макрос должен протягивать?
Формула массива (ФМ) вводится Ctrl+Shift+Enter Memento mori
Option Explicit
Sub jjj()
Dim rngStartFillDown As Range: Set rngStartFillDown = [AN4:BV4]
Dim rngForFillDown As Range
Set rngForFillDown = Intersect(Selection.EntireRow, rngStartFillDown.EntireColumn)
If rngForFillDown.Rows(1).Row >= rngStartFillDown.Rows(1).Row Then
If StrComp(rngStartFillDown.Address, rngForFillDown.Address, vbTextCompare) <> 0 Then
Union(rngStartFillDown, rngForFillDown).FillDown
End If
End If
End Sub
Возможно Вам стоит перейти на умные таблицы - в них формулы сами протягиваются при расширении таблицы вниз.
Формула массива (ФМ) вводится Ctrl+Shift+Enter Memento mori
Medvedoc, без адекватного файла-примера, не вижу смысла гадать. Списку уникальных значений по барабану из какого места (строки внутри столбца) взяты эти значения.
Формула массива (ФМ) вводится Ctrl+Shift+Enter Memento mori
БМВ, человек добавил в начале и конце кода <> соответственно ХД Вячеслав, Вы несколько по-своему истолковали замечание модератора. Вам необходимо войти в режим редактирования своего сообщения, выделить код макроса и нажать кнопку, которая выглядит, вот, так <...>. И сохранить изменения в сообщении. Тогда всё будет по красоте. )
Формула массива (ФМ) вводится Ctrl+Shift+Enter Memento mori
Anna Andre, без доп. столбца (формула массива) ввести в F2 и протянуть вниз: =ЕСЛИ((E2>10)<>(E3>10);СУММ(--(($E$2:E3>10)=(E2>10)))-СУММ(ЕСЛИ(ЕЧИСЛО($F$1:F1);(($E$1:E1>10)=(E2>10))*$F$1:F1;0));"")
Формула массива (ФМ) вводится Ctrl+Shift+Enter Memento mori