Синтаксис
ДВССЫЛ(ссылка_на_ячейку;a1)
Ссылка_на_ячейку — это ссылка на ячейку, которая содержит либо ссылку в стиле А1, либо ссылку в стиле R1C1, либо имя, определенное как ссылка, либо ссылку на ячейку в виде текстовой строки. Если ссылка_на_ячейку не является допустимой ссылкой, то функция ДВССЫЛ возвращает значение ошибки #ССЫЛ!.
Если ссылка_на_ячейку является ссылкой на другую рабочую книгу (внешней ссылкой), другая рабочая книга должна быть открытой. Если это не так, функция ДВССЫЛ возвратит значение ошибки #ССЫЛКА!.
A1 — это логическое значение, указывающее, какого типа ссылка содержится в ячейке ссылка_на_текст.
Если a1 имеет значение ИСТИНА или опущена, то ссылка_на_ячейку интерпретируется как ссылка в стиле A1.
Если a1 имеет значение ЛОЖЬ, то ссылка_на_ячейку интерпретируется как ссылка в стиле R1C1.
Я скелет наваял, но так как это первый мой опыт в программировании VBA, то все очень криво Хотелось бы услышать дельных советов.
- Код: Выделить всё
Public Function MyKR(addr As Variant, Optional fa As Variant) As String
Dim ssilka As String
'--------------------------------------------------
If (TypeName(addr) = "String") Then
ssilka = addr
Else
ssilka = CStr(addr)
End If
'--------------------------------------------------
Application.Caption = "Контрольная работа"
'--------------------------------------------------
If IsA1(ssilka) Then
If IsMissing(fa) Then
MyKR = CStr(Application.Range(ssilka).Value)
ElseIf (fa <> 0) Then
MyKR = CStr(Application.Range(ssilka).Value)
Else
MyKR = "#ССЫЛКА!"
End If
ElseIf IsR1C1(ssilka) Then
If Not (IsMissing(fa)) Then
If fa = 0 Then _
MyKR = CStr(Apllication.Range(sslika).Value)
End If
Else
MyKR = "#ССЫЛКА!"
End If
'--------------------------------------------------
End Function