В общем сделал всё через удаление старого имени и создание нового в том же адресе.
Спасибо всем, кто принимал участие в теме.
Спасибо всем, кто принимал участие в теме.
26.01.2020 17:25:02
|
|||
|
26.01.2020 14:02:32
Всем привет.
Как посмотреть уровень расположения именованной ячейки разобрался, а как программно изменить , например , с Worksheet на уровень Workbook, не понимаю. Фрагмент кода:
Например, нужно изменить уровни Worksheet на уровень Workbook. Как это сделать в vba? Интересует как именно присвоить новое значение Workbook.
Изменено: |
|||
|
20.02.2017 21:37:39
Да. Печалька.
В случае с |
|
|
31.01.2016 01:05:52
Всем привет. Нужна ваша помощь.
В модуле VBA конкретной ячейке присваивается формула. После исполнения VBA-кода формула не срабатывает, а в соотв. ячейке имеет место "Ошибка-недопустимое имя". Фрагмент кода:
Результат на скриншоте-02. НО если зайти в строку формул при активной (ошибочной) ячейке и нажать Enter, то формула срабатывает (см. на скриншоте-02 красную поз.2) Я конечно понимаю, что можно по очереди "пройтись" по всем этим ячейкам с "Ошибкой" понажимать Enter, Но это не устраивает хотя бы потому, что в таблице их много и это не рационально. Еще пробовал так:
И так:
Сам не могу допереть. Подскажите - в чём нюанс?
Изменено: |
|||||||
|
13.03.2013 14:30:05
Приветствую всех.
Нужно определить тип данных в ячейке. If (TypeName(Range(Cells(stroka_aktiv, N).Address).Value) = Date) Then ' (1) если тип Date Range(Cells(stroka_aktiv, N).Address).Value = Empty End If If (TypeName(Range(Cells(stroka_aktiv, N).Address).Value) = String) Then ' (2) если тип String Range(Cells(stroka_aktiv, N).Address).Value = "" End If If (TypeName(Range(Cells(stroka_aktiv, N).Address).Value) = Empty) Then ' (3) если тип Empty Range(Cells(stroka_aktiv, N).Address).Value = Empty End If If (TypeName(Range(Cells(stroka_aktiv, N).Address).Value) = Double) Then ' (4) если тип Double Range(Cells(stroka_aktiv, N).Address).Value = 0 End If Сравнения (1) (2) (4) не получаются. Если сравнение (4) переделать: Range("B22".Value = TypeName(Range("A22".Value) ' (*) If (TypeName(Range(Cells(stroka_aktiv, N).Address).Value) = Range("B22".Value) Then ' если тип Double Range(Cells(stroka_aktiv, N).Address).Value = 0 End If (*) - это в отдельную ячейку "A22" записать , например, 152, то в ячейке "B22" сохранится Double и сравнение (4) начинает работать. Но мне так не нравится. Что нужно писать вместо Date , String, Double , чтобы сравнения работали?
Изменено: |
|
|