Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Excel VBA (часть 2)

Модерирует : ShIvADeSt

ShIvADeSt (11-01-2010 10:17): http://forum.ru-board.com/topic.cgi?forum=33&topic=10903  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

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
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Excel VBA (часть 2)
ShIvADeSt (11-01-2010 10:17): http://forum.ru-board.com/topic.cgi?forum=33&topic=10903


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru