ActiveWorkbook.Names.Add выдает ошибку «Синтаксис этого имени неверен». - PullRequest
0 голосов
/ 07 декабря 2018

Этот код работал, теперь он дает мне:

Ошибка времени выполнения '1004'
Синтаксис этого имени неверен.

enter image description here

Я думаю, что после запуска скрипта мне нужно удалить это сохраненное имя, однако я не знаю, как это сделать.

Еслипосле ошибки отладки я запускаю код в начале оператора with, он работает.

ActiveWorkbook.Names.Add Name:="MyList1", RefersTo:="=FlexInfo[Card Holder]"
'RefersTo:="=TableName[ColumnHeader]"

With Range("CardHold").Validation
     .Delete
     .Add Type:=xlValidateList, Formula1:="=MyList1" '<Errors here
     .ShowError = False
End With

1 Ответ

0 голосов
/ 07 декабря 2018

Похоже, либо

  1. Диапазон имен (MyList1) уже существует в книге Excel.Попробуйте удалить его, прежде чем добавить его снова.
  2. пробел между картой и держателем в другом диапазоне имен " FlexInfo [держатель карты] " вызывает проблему.

On Error Resume Next
    ActiveWorkbook.Names("MyList1").Delete
    ActiveWorkbook.Names("FlexInfo[Card Holder]").Name = "FlexInfo[CardHolder]"
On Error GoTo 0

ActiveWorkbook.Names.Add Name:="MyList1", RefersTo:="=FlexInfo[CardHolder]"
'RefersTo:="=TableName[ColumnHeader]"

With Range("CardHold").Validation
    .Delete
    .Add Type:=xlValidateList, Formula1:="=MyList1" '<Errors here
    .ShowError = False
End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...