В файл "Отчёт СВ" подтягиваются данные из файла "Отчёт Магазин Алмаз" при условии,если оба файла находятся в одной папке. Но когда файла "Отчёт Магазин Алмаз" в папке нет, то логично, что в файле "Отчёт СВ" отображается ошибка "#ССЫЛ!". Так вот вопрос: можно ли сделать, чтобы в файле "Отчет СВ" отображалась последняя загруженная информация из файла "Отчёт Магазин Алмаз" при его отсутствии, а не ошибка. Чтоб условно, если я перекину только файл "Отчёт СВ" другому человеку, у него отображались все данные.
P.s. Наличие функции ДВССЫЛ обязательно,т.к. есть много файлов "Отчёт Магазин ...".
Необходимо, чтобы формула находила название столбца и суммировала данные в нём. Загвоздка в том, что столбец имеет строгое название, по которому его надо искать,но не имеет определенного местоположения,он может быть как 2-ым столбцом по счету, так и 10-ым. Так происходит потому что данные выгружаются из другой программы,и если по товару не было продаж, то и столбца с данными по нему не будет. По вертикали столбцы не имеет ограничений, то есть( из примера), если по данному товару была продажа, то она добавляется строчкой ниже.
Можно ли сделать так, чтобы при выборе месяца из выпадающего списка в списке дней был соответствующий месяц. При этом учитывая, что последняя строка может быть как 31 число этого месяца, так и 1 число нового месяца (ну с февралем тоже, чтобы чётко было).
Есть общий план продаж, который с помощью формулы делится на количество дней в месяце и в каждой отдельной ячейке отображается план на день. Также рядом забит столбец с днями,которые автоматом изменяются каждый месяц. Проблема в том, что когда в последней ячейке этого столбца не 31 , а уже 1 число следующего месяца, то формула также рассчитывает план на этот день, но по факту план этого дня должен быть распределен между 30 днями. Как сделать так, чтобы если в месяце 30 дней, то там где стоит первое число следующего месяца формула рассчитывала план именно на 30 дней, а последней ячейке стоял нуль,прочерк или пусто.
P.s. Сорри, не знал как правильно обозвать эту тему) Надеюсь понятно объяснил.
Есть основной файл c расчетами и в определенных ячейках отображается информация из последней заполненной ячейки через формулу "ПРОСМОТР" с другого файла. Суть в том, что в другом файле каждый месяц создается новый лист с названием нового месяца (старый лист при этом не удаляется и не переименовывается,а остается для архива). То есть допустим был Май,продублировали этот лист получили Май(2) и переименовали его в Июнь.
Необходимо, чтобы в этой самой формуле "ПРОСМОТР" в основном файле название листа автоматически сменялось на название нового созданного листа в другом файле. Например, был лист Май, создали новый лист Июнь и формула уже просматривала данные с листа Июнь.
P.s. Знаю, что не так сложно менять раз в месяц в самой формуле вручную название листа, но, т.к. работаю в смене не один, а коллеги в этом мало что понимают и могут просто случайно что-то не то изменить, необходимо автоматизировать сие действие.
Есть основной файл со столбцом Дата,где указаны дни месяца с 1 по 31 число(в примере сократил до трех дней,но думаю суть понятна),столбец План и столбец Факт,который ежедневно заполняется ручками(хотелось бы,чтоб автоматически).И есть другой файл, в котором есть столбец Дата (даты в этом столбце могут повторяться),столбец Наименование(для наглядности) и столбец Количество. Необходима формула для подсчета количества за определенную дату в ячейку Факт в основном файле.
Предполагаю,что необходима формула "поиск" и "счет",но не знаю как это всё скрестить,чтобы всё это работало) Хотя может ошибаюсь)
Есть Столбец А, в котором указаны числа месяца от 01 до 31 и есть Столбец В, в котором указан план каждого дня месяца (план заполняется полностью в начале каждого месяца). Необходимо, чтобы в отдельной ячейке, к примеру Е2, отображался план сегодняшнего дня и с наступлением следующего дня естественно он менялся автоматически.
Такой макрос есть, который заполняет определенный диапазон значениями в случайном порядке.
Код
Application.ScreenUpdating = False
Randomize
Dim arr: arr = Array(1, 2, "X")
Dim cell As Range
Dim rng As Range
If Application.Caller = "btn_region" Then
Set rng = Selection
ElseIf Application.Caller = "btn_all" Or Application.Caller = "btn_all2" Then
Set rng = Range("AB2:DW16").SpecialCells(12)
End If
For Each cell In rng
If (cell = "" And Application.Caller = "btn_all2") Or Application.Caller <> "btn_all2" Then cell = arr(Int(3 * Rnd))
Next cell
Application.ScreenUpdating = True
Так вот интересует именно эта часть макроса. То есть выделяешь область, кликаешь на кнопку и выделенная область заполняется значениями в случайном порядке.
Код
Dim arr: arr = Array(1, 2, "X")
Dim cell As Range
Dim rng As Range
If Application.Caller = "btn_region" Then
Set rng = Selection
Но проблема в том, что эту область можно выделить абсолютно в любом месте, что не есть хорошо и при случайном кликании заполняется не там, где нужно.
Так вот, как сделать ограничение выделенной области? Чтобы можно было выделять и заполнять область только в пределах "AB2:DW16" и если вышел за пределы позволяемого диапазона, то выдавало ошибку или просто макрос не срабатывал.
При кликании на кнопки "Все" и "Пустые" макрос выдает ошибку, что нельзя использовать данную команду на защищенном листе. А мне нужна именно, чтобы лист был защищен. Как это исправить, чтобы кнопки срабатывали и на защищенном листе?
Надо, чтобы в 3-ех отдельных ячейках показывало в процентах какова вероятность, что следующее значение будет 1,2 или X (эти значения записываются вручную, исходя из полученных результатов в другом источнике). Причем, например, если идёт 1111, то процент вероятности, что следующее значение будет 1 должен быть низким, а не наоборот.
Есть ли функции в Эксель, которые могут это реализовать?
Есть кнопки с макросами. Как их все запихнуть в один выпадающий список(точнее действие этих кнопок, а не сами кнопки:-))? И чтобы естественно по выбору макроса из этого выпадающего списка он выполнял свое действие.
Конкретно по моему прикрепленному файлу. В графе "Отобразить купонов" есть кнопки 5,10,15,20,25, которые, при кликании на них, отображают нужное количество столбцов. Вот их надо запихнуть в один выпадающий список, и чтобы при их выборе из списка, они выполняли своё действие. Как это сделать? То есть делаю это для того, чтобы была возможность выбирать отображение от 1 до 25 столбцов в выпадающем списке, а не как сейчас только 5,10,15,20,25.
P.s.Знаю, что уже задолбал со своими кнопками. Но это моя последняя проблема, помогите)).
Есть такой макрос,назначенный на кнопки, который показывает/ скрывает нужное количество столбцов
Код
Sub Hide5()
Dim i As Long
Application.ScreenUpdating = False
For i = 13 To 37
If Cells(1, i) <= 5 Then
Cells(1, i).EntireColumn.Hidden = False
Else
Cells(1, i).EntireColumn.Hidden = True
End If
Next
Application.ScreenUpdating = True
End Sub
И есть макрос,также назначенный на кнопку, который случайно заполняет столбцы 1-25 значениями 1,X,2.
Так вот. Как сделать, чтобы заполнялись только отображенные столбцы? А то к примеру выбираешь отобразить 10 столбцов и кликаешь заполнить случайно все и он заполняет все 25, а не отображенные 10.
Данный макрос копирует столбец в буфер, в котором отображаются результаты расчетов из других ячеек и иногда этот столбец заполнен не полностью и естественно при копировании в не заполненных ячейках отображается пробел. Так вот как сделать, чтобы пробел не копировался в буфер?
Есть формула массива, которая сравнивает столбцы и подсчитывает количество отличий между ними в отдельную ячейку. В столбцах есть всего три значения - 1,X,2 В данной формуле сравнивается 1 и 2 столбец.
Так вот вопрос: как быстро размножить эту формулу, чтобы сравнивались 1 и 2, 1 и 3, 1 и 4, 1 и 5 и т.д. столбцы. То есть, чтобы все столбцы сравнивались с 1-ым столбцом?
Если тянуть за крестик внизу ячейки, чтобы размножить, то формула начинает сравнивать 2 и 3, 3 и 4, 4 и 5 и т.д. То бишь не так, как нужно. Столбцов очень много (это так я для примера привёл только 10) и естественно вручную изменять формулу постоянно это очень долго.
Есть определенная область и есть три значения 1,X,2. Как записать код, чтобы эти 3 значения заполнили эту пустую область в случайном порядке? И при каждом нажатии на кнопку "Кнопка случайного заполнения" порядок снова менялся.
Есть такой макрос, назначенный на кнопку, который скрывает столбцы при условии. Можно ли сюда же вписать код, чтобы при повторном нажатии на кнопку он показывал обратно скрытые столбцы? Подскажите код.
Код
Sub Hide10()
Dim cell As Range
Application.ScreenUpdating = False
For Each cell In ActiveSheet.UsedRange.Rows(59).Cells
If cell.Value = "x" Then cell.EntireColumn.Hidden = True
Next
Application.ScreenUpdating = True
End Sub