1

Мне нужен определенный столбец в моей электронной таблице, чтобы показать формулу, а не полученное значение. Excel по-прежнему должен восприниматься как формула, но ему просто нужно показать формулу в ячейке, а не значение. Это означает, что я не могу преобразовать формат ячейки в текст как Excel, тогда не вижу его как формулу. Мне также нужно это только для 1 столбца, поэтому переключение между отображением формул и отображением результатов / значений также не вариант. Итак, в качестве примера:

Ячейка B3 = 11/11/13 (короткая дата) В ячейку F5 я вставил = B3 и, таким образом, ячейка F5 показывает 11/11/13.

Я хочу, чтобы ячейка F5 показывала = B3, но у меня есть другие ячейки, которые используют результат в F5, поэтому это не может быть текстовый формат.

Как мне это сделать (желательно не с кодом VB, но я возьму его, если это единственный способ сделать это)

3 ответа3

1

Если у вас много данных, вы можете использовать этот простой метод VBA, который, я считаю, идет за тем, что вы хотите, или, по крайней мере, указывает вам правильное направление. Прежде всего, вы не можете отобразить формулу и рассчитать ее, не дублируя ячейку

Если вы можете обойти эту часть, то следующим шагом будет либо вручную скопировать каждую ячейку и отобразить ее в виде текста, либо использовать метод VBA, как показано ниже, чтобы сделать это за вас.

Я создал эту подпрограмму, чтобы показать вам, как получить свойство формулы ячейки:

Public Sub test()
Range("C1").NumberFormat = "@"
Range("C1").Value = Range("B1").Formula
End Sub

Я просто помещаю эту формулу в боковой столбец как текст:

Вы можете, конечно, применить цикл к этому, чтобы пройти весь лист.

Другой способ добиться того, что вы ищете, это понять, что мой аргумент Range("B1"). Формула может быть установлена или получена. Это означает, что гипотетически вы можете сделать это задом наперед:

dim value as string
value = Range("B1").formula

..то вы можете использовать значение переменной в дополнительных формулах, позволяя одновременно отображать и вычислять вашу формулу.

Надеюсь, это поможет вам на вашем пути.

1

Вот простой способ получить ячейки в столбце F, которые содержат формулы для отображения формулы, а не значения. Запустите этот короткий макрос:

Sub ShowFormula()
   Dim DQ As String, mesage As String
   Dim rng As Range, r As Range
   DQ = Chr(34)
   Set rng = Range("F:F").Cells.SpecialCells(xlCellTypeFormulas)

   For Each r In rng
      mesage = DQ & r.Formula & DQ
      r.NumberFormat = mesage & ";" & mesage & ";" & mesage & ";"
   Next r
End Sub

Например:

Объяснение:

Без использования VBA можно полностью переопределить отображение значения в ячейке, используя пользовательский формат, например:

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

0

Есть надстройка для Excel под названием KuTools, чей «конвертер контента» может показать формулу для диапазона ячеек. Я, вероятно, пошел бы с решением VB, уже обрисованным в общих чертах все же.

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