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

Страницы: 1
Application.caller.address, чтобы работала грамотно, Как узнать внутри функции адрес ячейки из которой функция вызвана?
 
Основная мысль: Узнать внутри функции адрес ячейки из которой функция вызвана?

пользуюсь:
Код
Function CurNum()
CurNum = Application.caller.address     
End F unction


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

Подскажите, пожалуйста, как побороть.
Функция с Application.Volatile и #ЗНАЧ при редактировании листов.
 
Для первой итерации все получилось, спасибо за помощь,  
 
ЗЫ:    
каким образом можно внутри функции вытащить Range или адрес ячейки, в которой функция прописана, чтобы каждый раз не передавать в функцию входные параметры.
Функция с Application.Volatile и #ЗНАЧ при редактировании листов.
 
Возможно в этом дело, тогда просто имеет смысл указать  =FullPrice(K4), и соответствующие офсеты подвинуть. Но у меня в положительную сторону таким изменением дело не сдвинулось.
Функция с Application.Volatile и #ЗНАЧ при редактировании листов.
 
выложил файлик,  
 
формула записана в графе полная стоимость.
Функция с Application.Volatile и #ЗНАЧ при редактировании листов.
 
Господа, доброго времени суток.  
 
Ситуация такая: средствами VBA написал функцию, производящую некоторые вычисления, опираясь на ячейки в листе, где используется функция.  
 
Для автоматического пересчета значений добавил после объявления переменных Application.Volatile.  
 
Теперь при любом изменении любых ячеек на текущем листе формула пересчитывается, но при изменении ячеек в других листах появляется #ЗНАЧ.    
 
Полагаю, напортачил где-то в описании функции,  
код оной привожу:  
 
Private Function FullPrice(cellAddress As String)  
    Dim PostPriceCell As String  
    Dim PostPrice As Double  
    Dim FullWeight As Double  
    Dim Weight As Double  
    Dim Price As Double  
    Dim UCells As Double  
    Dim CellTop As String  
    Dim CellBottom As String  
    Dim cellAddress1 As String  
       
    Application.Volatile True  
           
    With Range(cellAddress)  
       PostPriceCell = .Offset(0, -1).MergeArea.Address  
       Price = .Offset(0, -3).Value  
       Weight = .Offset(0, -4).Value  
    End With  
       
    PostPrice = WorksheetFunction.Sum(Range(PostPriceCell))  
       
    UCells = Range(PostPriceCell).Rows.Count  
    CellTop = Range(PostPriceCell).Range("A1").Offset(0, -3).Address  
    CellBottom = Range(CellTop).Offset(UCells - 1, 0).Address  
           
    FullWeight = WorksheetFunction.Sum(Range(CellTop, CellBottom))  
       
    FullPrice = Price + Weight * PostPrice / FullWeight  
   
End Function  
 
Любые изменения и оптимизация только приветствуются.
Вкладки листов сбоку
 
Доброе время суток. Подскажите можно ли переместить вкладки листов снизу вбок окна, обо вкладок около 25 и прокручивать их долго, а хочется перемещаться быстро. И если действо такое возможно, то как оно выполняется.
Страницы: 1
Наверх