1

У меня есть электронная таблица, которая содержит гиперссылку на основе содержимого другой ячейки. Мне нужно, чтобы гиперссылка была основана на отображаемом (отформатированном) значении, а не на значении данных исходной ячейки. Это возможно без обращения к VBA? Пример:

Фактические значения:

| A |          B                | 
| 1 | =HYPERLINK("../Form_"&A6) |
| 2 | =HYPERLINK("../Form_"&A7) |
| 3 | =HYPERLINK("../Form_"&A8) |

Отображается как:

Столбец A нестандартный формат: "Form_"000

|    A     |      B      | 
| Form_001 | ../Form_001 |
| Form_002 | ../Form_002 |
| Form_003 | ../Form_003 |

Функциональное значение:

| A |          B          | 
| 1 | file:///../Form_001 |
| 2 | file:///../Form_002 |
| 3 | file:///../Form_003 |

2 ответа2

2

Я не вижу функцию для возврата ячейки в качестве отформатированного значения. Даже если вы предпочитаете решение, отличное от VBA, это простая, простая функция:

Function AsFormatted(v As Variant) As String
  AsFormatted = v.Text
End Function
2

Существует ли какой-то фиксированный формат содержимого столбца А и имен форм, или это общий вопрос?

Вы могли бы сделать что-то, используя TEXT() если вы можете избежать "m" в "Form" (потому что TEXT() будет думать, что это индикатор месяца), но это не общее решение.

Например: =HYPERLINK("../"&TEXT(A2,"For_000#")) работает, но =HYPERLINK("../"&TEXT(A2,"Form_000#")) не работает.

Однако если вы можете добавить дополнительные биты, которые вам нужны, за пределами конструкции & text, вы можете использовать любые символы, которые вам нравятся:

=HYPERLINK("../Form_"&TEXT(A2,"000"))

Вы можете использовать стандартные коды форматирования в части "..." , например, "$ 0.00", "гггг / мм / дд".

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