Я строю модель, которая берет результаты с первого листа и вводит их в следующий лист. Эффективно создавая приложение, которое запускается сериями. Я определил значения на первом листе с помощью поля «Имя», чтобы можно было легко вызывать эти значения и использовать их в формулах.

Следующим шагом является создание второго рабочего листа, чтобы ячейки, которые мне нужно использовать в формулах, могли быть названы (в поле имени) с теми же именами, что и на листе 1, но с добавлением некоторого суффикса (например, 1 или A). ,

Таким образом, лист 1 будет иметь ячейки с именами, такими как SA, Vol, Q и т.д., А лист 2 будет иметь ячейки с именами, такими как SA1, Vol1, Q1 и т.д.

Имена параметров существуют в соседних ячейках. Например, я хочу назвать ячейки в столбце C, используя их смежные значения / слова в столбце B.

Вот что у меня так далеко:

Sub CreatName()
  Dim cel As Range
  Dim moretext As Variant

  moretext = InputBox("Enter text to add at end of name box: ")

  For Each cel In Worksheets("Model").Range("C:C").Cells
    If Not IsEmpty(cel.Value) Then
      cel.Name = cel.Offset(0, -1).Value & moretext
      MsgBox (cel.Name.Value)
    End If
  Next cel
End Sub

Я не могу заставить его работать. Имя cel.name показывает местоположение ячейки (например, ="Model"$C$25), и я не могу получить суффикс, добавляемый к имени.

1 ответ1

0

Чтобы получить значение, используйте что-то вроде этого:

MsgBox (cel.Name.RefersToRange.Value)

Чтобы добавить имя, сделайте это:

cName = cel.Offset(0, -1).Value & moretext

ActiveWorkbook.Names.Add Name:=cName, RefersToR1C1:=cell

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .