SAS888
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Sub Rel_to_Abs() Dim i As Integer, A As String Dim B() As String, C() As String, x As String, y As Integer 'Например, для активной ячейки x = Mid(CStr(ActiveCell.Formula), 2) 'строка с формулой y = Application.Find("!", x) 'позиция разделителя On Error Resume Next 'если не ссылка, а просто формула ActiveCell.Value = Chr(61) & Mid(x, y + 1) 'формула без ссылки A = CStr(ActiveCell.DirectPrecedents.Address) 'строка с абс. ссылками B = Split(A, ",") 'массив абсолютных ссылок ReDim C(UBound(B)) For i = 0 To UBound(B) C(i) = Application.Substitute(B(i), "$", "") 'массив относительных ссылок x = Application.Substitute(x, C(i), B(i)) 'замена отн. на абс. Next ActiveCell.Value = Chr(61) & x 'формируем строку формулы End Sub | Всего записей: 398 | Зарегистр. 31-10-2007 | Отправлено: 06:41 28-11-2007 | Исправлено: SAS888, 07:25 28-11-2007 |
|