Я создаю рабочую книгу со многими листами, названными по номерам (пример: 1, 2, 3 ... 30).Дополнительно имеется «титульный лист», который содержит информацию на всех 30 листах.На титульном листе есть ряды информации, включая ссылку на имя листа (например, строка для листа "7", которая имеет имя, статус и т. Д.)
На каждом пронумерованном листе я бы хотелсоздать ссылку index (match ()) обратно на «титульный лист» ... Если я делаю это для листа «7», я могу сделать это успешно с помощью следующей функции:
столбец R содержит данныеЯ хочу отобразить в ячейке на листе «7» столбец X содержит ссылки, такие как «1», «2», «3», «7» и т. Д. Обратите внимание ниже, как я должен использовать абсолютную ссылку «7»в МАТЧ
=INDEX(cover sheet!R5:R200,MATCH(7,RCM!X5:X200,0))
Вместо абсолютной ссылки «7» в МАТЧЕ я бы хотел, чтобы он динамически ссылался на каждый лист, в котором находится ячейка. Я знаю, что могу получить имя листа с помощьюследующая формула ...
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)
Когда я пытаюсь использовать вышеуказанную функцию вместо абсолютной ссылки "7", я получаю # N / A
Для того, чтобы попытаться это исправитьвопрос, который я пытался преобразовать ссылку на числоs элементы в столбце X на титульном листе являются числами ...
Когда я выполняю type () для следующего, я получаю type 2 или "Text"
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)
Я считаю,чтобы справочная работа работала, мне нужно, чтобы имя листа отображалось в виде числа.Я пытался преобразовать ячейку в число, используя home -> format cell -> number ... это не сработало.
Я могу исправить ссылку, если скопирую и вставлю готовую формулу кактекст все равно не работает.Я пытался написать это в VBA, чтобы заполнить
. После копирования и вставки в виде текста единственный способ исправить ссылку - это нажать зеленую вкладку на ячейке и нажать «Преобразовать в число».исправить ссылку ...
Sub sheet_name_test()
Dim sheet_name As String
Dim file_name As String
file_name = ChrW(34) & "filename" & ChrW(34) 'ASCII 34 is quotation
sheet_name = "=MID(CELL(" & file_name & ",A1),FIND(" & ChrW(34) & "]" & ChrW(34) & ",CELL(" & file_name & ",A1))+1,255)"
'MsgBox sheet_name & vbNewLine & Range("B11").Value
'Cells(13, 2).Value = sheet_name
Cells(2, 3) = sheet_name
Cells(2, 3).Copy
Cells(2, 3).PasteSpecial xlPasteValues
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Cells(2, 3).NumberFormat = "0"
End Sub
'when i tried to record the drop down that says "convert to number" it
'did not record anything...
'Recorded Macro
Sub Macro1()
'
' Macro1 Macro
'
'
End Sub
Я ожидаю, что смогу использовать имя листа в индексе (Match ()), но мне просто нужно отформатировать его надлежащим образом.Моя проблема устранения неполадок до сих пор не работает.Спасибо за любую помощь или советы!