Вставка формул в ячейку с помощью VBA
От: ToGetUp  
Дата: 02.08.04 10:36
Оценка:
Проблемма тупая, сильно не пинаем
Есть функция в VBA
Function GetFormula(FirstRange,SecondRange as Range) AS String
       GetFormula="="& ???? &"/"& ????
End Function

Идея такая в функцию приходят два аргумента типа Range, а ны выходе должна быть формула деления одного на другое.
Так вот вопрос, как от Range получить его "адреса".
На примере лучше объяснить получиться.


ActiveWorksheet.Cells(1,3).Formula=GetFormula(ActiveWorksheet.Cells(1,1),ActiveWorksheet.Cells(1,2))
'т.е. Мы делим ячейку А1 на А2 и в ячейки А3 должна быть формула "=A1/A2"



Как от ActiveWorksheet.Cells(1,1) получить что это A1?

Нормально разжевал?
Re: Вставка формул в ячейку с помощью VBA
От: Elena_ Россия  
Дата: 02.08.04 11:03
Оценка:
Здравствуйте, ToGetUp, Вы писали:

TGU>Проблемма тупая, сильно не пинаем

TGU>Есть функция в VBA
TGU>
TGU>Function GetFormula(FirstRange,SecondRange as Range) AS String
TGU>       GetFormula="="& ???? &"/"& ????
TGU>End Function
TGU>

TGU>Идея такая в функцию приходят два аргумента типа Range, а ны выходе должна быть формула деления одного на другое.
TGU>Так вот вопрос, как от Range получить его "адреса".
TGU>На примере лучше объяснить получиться.

TGU>

TGU>ActiveWorksheet.Cells(1,3).Formula=GetFormula(ActiveWorksheet.Cells(1,1),ActiveWorksheet.Cells(1,2))
TGU>'т.е. Мы делим ячейку А1 на А2 и в ячейки А3 должна быть формула "=A1/A2"
TGU>


TGU>Как от ActiveWorksheet.Cells(1,1) получить что это A1?



Из справки

Address property as it applies to the Range object.
Returns the range reference in the language of the macro. Read-only String.

expression.Address(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo)

...

Example
The following example displays four different representations of the same cell address on Sheet1. The comments in the example are the addresses that will be displayed in the message boxes.

Set mc = Worksheets("Sheet1").Cells(1, 1)
MsgBox mc.Address()                              ' $A$1
MsgBox mc.Address(RowAbsolute:=False)            ' $A1
MsgBox mc.Address(ReferenceStyle:=xlR1C1)        ' R1C1
MsgBox mc.Address(ReferenceStyle:=xlR1C1, _
    RowAbsolute:=False,     _
    ColumnAbsolute:=False,  _
    RelativeTo:=Worksheets(1).Cells(3, 3))        ' R[-2]C[-2]

Пользователь — друг программиста!
Re[2]: Вставка формул в ячейку с помощью VBA
От: ToGetUp  
Дата: 02.08.04 11:05
Оценка:
Спасибо. Вопрос закрыт.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.