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

Страницы: 1
Расчет средней цены
 
Добрый день!

Прилагаю файл.

Дано:
Есть журнал с торговыми операциями по акциям - колонки B-G.

Задача:
Рассчитать актуальную текущую среднуюю цену по каждой акции и прибыль по каждой операции продажи.

Что сделано:
Посчитаны средние текущие цены в ячейках N12, N13.

Проблема:
Для расчета прибыли, необходимо рассчитать средневзвешенную цену покупки до момента наступления соответствующей продажи, поскольку средневзвешенная цена покупки изменится после выбытия части акций по методу FIFO - сначала выбывают акции, купленные первыми.

Буду признателен за любые идеи!

P.S. Стараюсь сделать формулы в колонках едиными, чтобы потом проще было загружать в PQ.
Изменено: AchilleS - 08.03.2021 19:44:27
Создание финансовых моделей и бюджетов с использованием Power BI, Power Query, Power Pivot и VBA., Платная консультация
 
Добрый день!

Как уже писал в курилке, ищу специалиста по темам из шапки с практическим опытом построения бюджетов / внедрения готовых решений по бюджетированию.

Изначальная тема с основными требованиями к решению здесь.

https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=5&TID=137593&...

Что нужно по факту:

Созвониться по зуму, где я на примере покажу, что необходимо от решения, какие исходные данные и какой результат требуется. Специалист, в свою очередь, предложит варианты связок PP, PQ, BI, VBA, которые в принципе способны это делать, и основные подводные камни, с которыми я могу столкнуться. В общем такой мозговой штурм, чтобы не изобретать заново уже имеющиеся готовые решения.

По времени час-два.

Спасибо!
Макрос автоматического сохранения
 
Добрый день!

Плохо работает встроенное автоматическое сохранение - часто теряю данные. Решил сделать собственный код на сохранение всех открытых Excel файлов.
Код работает, но необходимо настроить его автозапуск при открытии Excel.

На текущий момент ситуация следующая:
В Personal.xlsb в ThisWorkbook вставлен следующий код:
Код
Sub Workbook_Open()
    Call SaveIt
End Sub
В Module5 прописано:
Код
Option Explicit

Sub SaveIt()

Dim xWb As Workbook
Dim dt As String

Application.DisplayAlerts = False

dt = Format(CStr(Now), "yyyy_mm_dd_hh_mm_ss")

For Each xWb In Application.Workbooks

If xWb.Path = vbNullString And Not xWb.ReadOnly And Windows(xWb.Name).Visible Then
    xWb.SaveCopyAs Filename:="C:\User\Desktop\Excels" & "\" & dt & " - " & xWb.Name & ".xlsx"   ' __ ВОТ ЗДЕСЬ ОШИБКА __
Else
If Not xWb.ReadOnly And Windows(xWb.Name).Visible Then
    xWb.SaveCopyAs Filename:="C:\User\Desktop\Excels" & "\" & dt & " - " & xWb.Name
End If

End If

Next

Application.DisplayAlerts = True

Application.OnTime Now + TimeValue("00:05:00"), "SaveIt"

End Sub

При запуске выдает ошибку в помеченной комментарием строке.
При удалении первого куска кода из ThisWorkbook второй код работает, но необходимо запускать его вручную при старте Excel.

Насколько понимаю, запуск Excel это более сложное событие, первый код - это шорткат, который пока не работает)

Спасибо заранее за помощь!
Условное форматирование - является ли ячейка частью формулы
 
Добрый день!

Стоит такая задача - проверять ячейку на предмет, является ли она частью формулы в конкретной ячейке (входит ли она, например, в формулу суммы смежных ячеек)

Каким образом можно настроить условное форматирование ячейки, чтобы она меняла заливку в зависимости от того, входит ли она в эту конкретную формулу или нет. Желательно без помощи VBA.

Благодарю!
Изменено: AchilleS - 20.02.2021 18:48:24
Работа с несколькими связанными бюджетами
 
Добрый день!

Хотел узнать ваше мнение по организации обновления бюджетов.

Дано:
- Есть один главный консолидированный бюджет, в который подтягиваются данные бюджетов дочерних компаний (из отдельных файлов)
- Дочерние и главный бюджеты периодически обновляются
- Обновление происходит либо ручным переключением ссылки на новый файл, либо перелинковкой на новый файл, если какие-то поля сдвинулись

Задача:
- Организовать обновление главного бюджета при обновлении дочерних в каком-то более или менее удобном автоматическом режиме
- Иметь возможность отслеживать версии - из какой версии дочерних бюджетов подтягиваются цифры

Проблемы:
- С исходными данными - разработаны стандартизированные формы, чтобы иметь возможность обновляться, просто меняя ссылку на файл. Но периодически данные меняются, и приходится всё перелинковывать вручную
- С прозрачностью данных при пересылке - суммарно получается 5+ файлов, так что получатель не может в одном файле посмотреть все исходники
- Контроль версий никак не решен кроме 2020 05 15 - XXX_v75.xlsx

Попытки решения:
- Для дочерних компаний в файлах бюджетов сделаны листы с основными выходными параметрами, которые с свою очередь являются исходниками для консолидированного бюджета
- Эти листы затем импортируются в главный бюджет, чтобы удобно линковать, и смотреть исходники при пересылке файла (либо copy-paste, чтобы остались ссылки на ячейки)

Вопросы:
1. Какие знаете удобные комплексные решения для подобного типа задач? Типа облачные, где обновление происходит автоматически через мастер-файлы, например.
2. Если готовых решений нет, что можете подсказать по оптимальной цепочке обновлений и формату - отдельные импортированные листы, отдельные файлы или базы данных
3. Контроль версий - в идеале хотелось бы знать, откуда тянется каждая цифра с комментариями к ней

Спасибо заранее!
Замена определенной формулы значением (макрос)
 
Всем привет!
Задача следующая - заменить все формулы определенного типа во всей книге на значения с помощью макроса. Т.е. если в ячейке попадается, например, формула =SUM(A1:A2)+COUNT(A1), то вся ячейка заменяется на значение.

Нашел следующий макрос.
Код
Sub test() 
Dim c As Range 
For Each c In ActiveSheet.UsedRange.Cells 
If c.HasFormula Then
If InStr(1, c.Formula, "SUM") <> 0 Then c.Value = c.Value 
End If
Next
End Sub
Хочу попросить вашей помощи в исправлении макроса таким образом, чтобы он действовал в отношении всей книги, а не только активного листа. Да, пример не прикладываю, поскольку задача вроде бы предельно ясна.

По оплате плз в личку. Нужно в течение нескольких часов.

Заранее спасибо!
Изменено: AchilleS - 12.12.2014 12:41:09
Замена определенной формулы значением (макрос)
 
Всем привет!
Задача следующая - заменить все формулы определенного типа во всей книге на значения с помощью макроса. Т.е. если в ячейке попадается, например, формула =SUM(A1:A2)+COUNT(A1), то вся ячейка заменяется на значение.

Нашел следующий макрос.
Код
Sub test() 
Dim c As Range 
For Each c In ActiveSheet.UsedRange.Cells 
If c.HasFormula Then 
If InStr(1, c.Formula, "SUM"   <> 0 Then c.Value = c.Value 
End If 
Next 
End Sub
Хочу попросить вашей помощи в исправлении макроса таким образом, чтобы он действовал в отношении всей книги, а не только активного листа. Да, пример не прикладываю, поскольку задача вроде бы предельно ясна.

Заранее спасибо!
Изменено: AchilleS - 12.12.2014 10:32:09
Excel на два монитора
 
Всем доброго времени суток!
Дано: Windows 7, Office 2010

Прошу помочь со следующей задачей - нужно открыть 2 разных файла на 2-х разных мониторах и сохранить возможность копирования данных/формул/ссылок из одного файла в другой.
Прочитал статьи на тему - понятно, как открывать новый файл в новом окне на 2-м мониторе - проблема заключается в том, что пропадает возможность нормальной работы сразу с двумя файлами в контексте перекрестных ссылок, формул и т.д.

Подскажите, есть ли решение вопроса? Слышал, эта проблема вроде бы решена в 2013-й версии, но возможности проверить не было (впрочем, как и перейти на нее).
Спасибо!
Трекер формул в Excel, Надстройка
 
Всем привет!

Существует ли надстройка, не требующая установки (т.к. есть ограничения на установку на рабочем компе), которая помогала бы трейсить формулы. В идеале, конечно же, хорошо было бы как-то поставить эту надстройку

http://www.spreadsheetstudio.com/download/

Но если есть приемлемый заменитель, который можно поставить без лишних проблем, буду благодарен за наводку.

Спасибо!
Всплывающее окно при открытии файла
 
Добрый день!

Подскажите, пожалуйста, как сделать так, чтобы при открытии определенного файла появлялось окошко с определенной информацией (например, инструкцией к тому, что находится в файле).

Спасибо!
Изменено: AchilleS - 03.04.2013 15:12:19
Поиск текста из одного массива в ячейках другого массива
 
Добрый вечер!

В VBA я новичок, поэтому могу только на основе здравого смысла исправлять код.
Но тут что-то но получается, поэтому прошу вашей помощи.

Задача состоит в том, чтобы на активном листе сопоставить значения из ячеек C2:L2 c данными столбца B листа "111", где перечислены наименования продуктов.

Значения в ячейках могут точно не совпадать с искомыми значениями стобца B.

А необходимо просто ниже ячеек, в которых производится поиск поставить "нормальные" названия. Т.е. чтобы под "Молоко-5-10-15-Х" стояло "Молоко".

Макрос выдает ошибку в строке:

FirstFoundCell.Offset(3, 0) = StringToFind

Я, честно говоря, ваще не в теме, с чем это может быть связано, поэтому и прошу совета.

Так же, если возможно, хотелось бы, чтобы макрос выдавал первое совпадение, а не последнее, т.е. сейчас под "Молоко-Кефир-10" выдается "Кефир".

Спасибо!

Код
Sub Поиск()
LastRow = Sheets("111").Range("B65536").End(xlUp).Row
Dim StringToFind As String
For i = 1 To LastRow
    StringToFind = Sheets("111").Range("B" & i).Value 'значение для поиска
    
        '<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>
        On Error GoTo 1
        Dim FirstFoundCell As Range, FoundCell As Range
        Application.ScreenUpdating = False
    
        Set FirstFoundCell = Range("C2:L2").Find(what:=StringToFind)
        FirstFoundCell.Offset(3, 0) = StringToFind
    
        If FirstFoundCell Is Nothing Then
            Exit Sub
        End If
    
        Set FoundCell = FirstFoundCell
        Do
            Set FoundCell = Range("C2:L2").FindNext(After:=FoundCell)
            FoundCell.Offset(3, 0).Value = StringToFind
            If FoundCell.Address = FirstFoundCell.Address Then Exit Do
        Loop
1:
Next i
End Sub
Изменено: AchilleS - 03.02.2013 20:45:28
Импорт данных из других книг Excel
 
Добрый вечер!

Подскажите, плз, а то замучался.

Необходимо импортировать в сводную книгу данные из других книг. Книг много. Хочется как-то автоматизировать процесс через параметризацию имен файлов и книг. Приходит на ум только функция INDIRECT (ДВССЫЛ). Но она, к сожалению, не работает с закрытыми книгами. Поискал по нету - есть расширенная версия данной функции, но хочется, чтобы файл был максимально унифицированным и работал на всех компах, а уверенности в работоспособности расширенной двссыл нет.

Подскажите, какие еще могут быть варианты ссылки на другие книги (закрытые), кроме ДВССЫЛ?
Есть пара решений VBA - работатает по примеру двссыл, но не совсем то, что нужно.

Мое видение - неплохо было бы, если бы сначала прописать формулы через ДВССЫЛ, а потом макросом их перевести в ссылки, т.е. как бы провести одну итерацию формулы.

Вот код, который накопал в сети:

Код
Private Sub Worksheet_Calculate()
Dim rWatchRange As Range
Dim sBook As String
Dim sFilePath As String

On Error Resume Next
Application.EnableEvents = False
Set rWatchRange = Range("B2:H2")

 If Intersect(ActiveCell, rWatchRange) Is Nothing Then
  Set rWatchRange = Nothing
    Exit Sub
 End If
 
sBook = ActiveCell
sFilePath = Range("FilePath")

 
 Application.DisplayAlerts = False
 
  ActiveCell.Offset(10, 0).Formula = _
    "='" & sFilePath & "[" & sBook & ".xls]Sheet1'!R1C1"
  
 Application.EnableEvents = True
 Application.DisplayAlerts = True
 On Error GoTo 0
End Sub


Спасибо!
Изменено: AchilleS - 30.01.2013 19:37:26
Список названий листов из разных файлов
 
Добрый день!

Мне необходимо автоматизировать сбор данных с разных файлов, в формулах естественно фигурируют названия листов.

Не подскажите, каким образом вывести списком названия листов из соответствующих файлов. Погуглил - почти все решения выдают названия из текущей книги. А нужен вывод из файлов с заданным путем.

Спасибо!

Можно просто ссылку, попробую сам разобраться.
Редактирование легенды графика
 
Добрый день!

Задача следующая: на Bubble графике в легенде отображаются маленькие кружки. Когда данных много, трудно становится читать график. Подскажите, есть ли возможность увеличить размер кружков в легенде, не увеличивая размера названий в легенде.

Спасибо!
Только горизонтальные гриды
 
Добрый день!  
 
Вопрос такой - как сделать, чтобы на листе отображались только горизонтальные гриды (без вертикальных)?  
 
Спасибо!
Перевод определеннных формул в значения
 
Добрый день!  
 
Задача следующая - перевести формулы определенного типа (например, только vlookup или if) в значения с сохранением всех остальных формул.  
 
Т.е. есть лист с большим количеством инфы, разными формулами и пр, но в значения нужно обратить только отдельные части.  
 
Подозреваю, что здесь без макроса не обойтись.  
 
В целом, полезен будет и такой вариант - выделять цветом ячейки с этими формулами - тут я пробовал играться с условным форматированием, но оно, к сожалению, работает только со значениями ячеек, а не с формулами, которые в них записаны.  
 
Надеюсь, прояснил задачу.    
 
Спасибо!
Выбор из диапазона определенных значений
 
Всем привет! Нужно сделать следующее:  
 
Есть таблица, в первой строке которой по порядку расположены номера фирм (1,2,3...20), в первом столбце - даты. На месте Хij стоит определенный коэффициент, рассчитанный на момент i для фирмы j.  
 
Что надо - надо по каждой строке вывести номера фирмы, значение показателей которых по данной строке входит в первые 30% распределения этих показателей (типа меньше 3-го дециля).  
 
Спасибо!
Страницы: 1
Наверх