powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / как заставить Excel "проглотить" не верную ссылку на рабочий лсит.
16 сообщений из 16, страница 1 из 1
как заставить Excel "проглотить" не верную ссылку на рабочий лсит.
    #33556078
M.Juanito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Друзья!
Подскажите, пожалуйста.

пытвюсь в Екселе, посредством VBA, в формулу засунуть ссылку на не существующи(пока) рабочий лист. соотвественно получаю ошибку "1004:Application-defined or object-defined error".
есть способ указать Екселю игнорировать такие вещи? и что ето за способ:)

заранее спасибо
...
Рейтинг: 0 / 0
как заставить Excel "проглотить" не верную ссылку на рабочий лсит.
    #33556117
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для этого можно попробовать перехват ошибок.
Код: plaintext
On Error Resume Next
Указывет, что при возникновении ошибки происходит передача управления на инструкцию, непосредственно следующую за инструкцией, где возникла ошибка.

Можно еще конкретизировать номер ошибки. Для этого читай справку.
...
Рейтинг: 0 / 0
как заставить Excel "проглотить" не верную ссылку на рабочий лсит.
    #33556136
M.Juanito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
k-nikeДля этого можно попробовать перехват ошибок.
Указывет, что при возникновении ошибки происходит передача управления на инструкцию, непосредственно следующую за инструкцией, где возникла ошибка.

Можно еще конкретизировать номер ошибки. Для этого читай справку.

спасибо. только ето помогло от "вылетание программы"
но в данном случае не происходит замены на новую ссылку. тоесть ссылка остается той же что и была.
...
Рейтинг: 0 / 0
как заставить Excel "проглотить" не верную ссылку на рабочий лсит.
    #33556180
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А пример можно?
...
Рейтинг: 0 / 0
как заставить Excel "проглотить" не верную ссылку на рабочий лсит.
    #33556261
M.Juanito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
k-nikeА пример можно?

щас попробую изобразить....



допустим есть ячейка(A1) в ней формула:
='D:\Path\Dir\[ThisFile]2006_O'!A1

"ThisFile" - это чтото типа шаблона, которое заменяется на необходимое имя файла.

так вот.

в скрипте пишу:

c.Formula = Replace(c.Formula, "ThisFile", fFile.Name)


где c ето соответственно будет ячейка A1.

вот на етом он и вылетает.

если править етуже формулу рками то получаем такой вот алерт (см. картинку)
...
Рейтинг: 0 / 0
как заставить Excel "проглотить" не верную ссылку на рабочий лсит.
    #33556320
M.Juanito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может какнидь можно отключить проверку на правильность ссылки или чтото типа того?
...
Рейтинг: 0 / 0
как заставить Excel "проглотить" не верную ссылку на рабочий лсит.
    #33556379
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может тебе поможет.
Код: plaintext
Application.DisplayAlerts = False
...
Рейтинг: 0 / 0
как заставить Excel "проглотить" не верную ссылку на рабочий лсит.
    #33556386
M.Juanito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
k-nikeМожет тебе поможет.
Код: plaintext
Application.DisplayAlerts = False


неа. не помогает ни Application.DisplayAlerts = False

ни Application.EnableEvents = False
...
Рейтинг: 0 / 0
как заставить Excel "проглотить" не верную ссылку на рабочий лсит.
    #33556413
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
M.Juanito k-nikeМожет тебе поможет.
Код: plaintext
Application.DisplayAlerts = False


неа. не помогает ни Application.DisplayAlerts = False

ни Application.EnableEvents = False
в формуле первый знак =
не пиши
потом прибавишь - когда надо
...
Рейтинг: 0 / 0
как заставить Excel "проглотить" не верную ссылку на рабочий лсит.
    #33556421
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ты как "c" (диапазон A1 в данном случае) устанавливаешь? Через Set?
...
Рейтинг: 0 / 0
как заставить Excel "проглотить" не верную ссылку на рабочий лсит.
    #33556437
M.Juanito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
k-nikeА ты как "c" (диапазон A1 в данном случае) устанавливаешь? Через Set?

For Each c In Workbooks(fFile.Name).Sheets(CStr(iYear) & "_O").Range("A1:Q64")

вот так :)
...
Рейтинг: 0 / 0
как заставить Excel "проглотить" не верную ссылку на рабочий лсит.
    #33556445
M.Juanito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MX -- ALEX M.Juanito k-nikeМожет тебе поможет.
Код: plaintext
Application.DisplayAlerts = False


неа. не помогает ни Application.DisplayAlerts = False

ни Application.EnableEvents = False
в формуле первый знак =
не пиши
потом прибавишь - когда надо

впринципе мысль! спасибо.. правдо не уверен что подойдет...щас попробую.
...
Рейтинг: 0 / 0
как заставить Excel "проглотить" не верную ссылку на рабочий лсит.
    #33556490
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Sub GetFormula()
    
    Dim c As Range
    Dim fFileName As String
    
    Application.DisplayAlerts = False
    Range("A1").Formula = "='C:\[ThisFile]Лист1'!B1"
    fFileName = "file.xls"
    
    For Each c In ThisWorkbooks.Sheets( 1 ).Range("A1:A2")
        c.Formula = Replace(c.Formula, "ThisFile", fFileName)
    Next
    
End Sub

У меня в таком варианте все прокатывает и не вякает! Excel 2002.
...
Рейтинг: 0 / 0
как заставить Excel "проглотить" не верную ссылку на рабочий лсит.
    #33556592
M.Juanito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
k-nike
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Sub GetFormula()
    
    Dim c As Range
    Dim fFileName As String
    
    Application.DisplayAlerts = False
    Range("A1").Formula = "='C:\[ThisFile]Лист1'!B1"
    fFileName = "file.xls"
    
    For Each c In ThisWorkbooks.Sheets( 1 ).Range("A1:A2")
        c.Formula = Replace(c.Formula, "ThisFile", fFileName)
    Next
    
End Sub

У меня в таком варианте все прокатывает и не вякает! Excel 2002.

ну ты, наверно, даешь ссылку на существующий лист и файл ;)
...
Рейтинг: 0 / 0
как заставить Excel "проглотить" не верную ссылку на рабочий лсит.
    #33556603
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
M.Juanitoну ты, наверно, даешь ссылку на существующий лист и файл ;)
Нет, в данном случае file.xls несуществующий!!! У тебя какой эксель?
...
Рейтинг: 0 / 0
как заставить Excel "проглотить" не верную ссылку на рабочий лсит.
    #33556643
M.Juanito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
k-nike M.Juanitoну ты, наверно, даешь ссылку на существующий лист и файл ;)
Нет, в данном случае file.xls несуществующий!!! У тебя какой эксель?

2002 .... XP который...

лана.. я вроде чето придумал..
спасибо за советы!
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / как заставить Excel "проглотить" не верную ссылку на рабочий лсит.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]