изменение списка и сохранение результата в виде именованных диапазонов _method Range of _global Failed - PullRequest
0 голосов
/ 03 июня 2018

Я использовал код из этого вопроса: VBA: фильтрация списка и сохранение результата в виде именованных диапазонов , но он выдал ошибку 1004.

Dim DoesNamedRangeExistFlag As Boolean

Sub NameTheRanges()

ClearAllNamedRanges
Dim c As Range
For Each c In Sheets("Sheet1").Range("B2:B10")

    If Not DoesNamedRangeExist(c.Value) Then
        c.Offset(0, -1).Name = c.Value
    Else
        Union(Range(c.Value), c.Offset(0, -1)).Name = c.Value
    End If
Next c

End Sub

Function DoesNamedRangeExist(NR As String) As Boolean
Dim checker As Range
On Error Resume Next
Set checker = Sheets("Sheet1").Range(NR)

On Error GoTo 0
If checker Is Nothing Then
    DoesNamedRangeExist = False
Else
    DoesNamedRangeExist = True
End If



End Function


Sub ClearAllNamedRanges()
Dim NR
For Each NR In ActiveWorkbook.Names
    NR.Delete
Next
End Sub

Ответы [ 2 ]

0 голосов
/ 04 июня 2018

Моя проблема действительно была с недопустимыми именами, но я вызвал другую проблему, изменив опцию, чтобы разбить все ошибки, что заставило меня остановить весь код даже на правильных именах.поэтому отключение этой опции и отладка кода там, где он ломается, позволили мне исправить коды, большое спасибо Qhrr и мистеру Брайану, извините, я впервые опубликовал в stackoverflow

0 голосов
/ 03 июня 2018

Возможно, вы пытаетесь ввести недопустимое имя для именованного диапазона.

Какое значение c при возникновении ошибки?

Если это так, R или C или что-либо, что уже существует в качестве ссылки на диапазон, например, от A1 до XFD1048576 (в 2016 году), вы получите описанную ошибку.

B2:B10 не может содержать то, что является допустимой ссылкой на ячейку.

То же самое произойдет, если в ячейке есть недопустимые символы или пробелы (в начале или в строке), которые являютсяне допускается в именованных диапазонах, например, если начинается с числа.


Чтобы узнать больше об соглашениях о присвоении имен и недопустимых именах, см .:

  1. Недопустимые имена диапазонов
  2. И этот замечательный ресурс, который я только что нашел, Мартин Труммер: Excelnames
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...