1

У меня есть номер в A1 (скажем, это 10). Это представляет количество ответов в тесте.

В B1 у меня есть количество правильных ответов из теста (скажем, это число 6).

В B1 я хочу иметь возможность набирать число 6 и отображать его как 6/10 (бит /10 берется из ячейки A1).

Значение ячейки по-прежнему только 6 однако. Это только для визуального эффекта, и у фактической ячейки могут быть формулы, сделанные на нем и тому подобное.

Если я выберу B1 и наберу число 7 оно должно визуально обновиться как 7/10

Это возможно без модных вещей VBA? Большое спасибо

3 ответа3

1

Вы можете использовать следующую ячейку и добавить '/10 в нее, чтобы показать /10 Так что вы можете увидеть это как визуальный. Кроме того, вы можете использовать эту формулу в новой ячейке =TEXT.CONCATENATE(A1,"/10") которая даст значение 6/10 , и обновлять ее при изменении A1.

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

1

Боюсь, это невозможно без "модных вещей VBA". Лучшее, что вы можете сделать без VBA, - это назначить пользовательский формат для B1 со значением из A1 жестко запрограммированным в формате.

Чтобы установить формат таким образом, щелкните правой кнопкой мыши B1 и выберите Format Cells... Выберите категорию Custom и введите следующий формат.

#"/10"

Но, конечно, вы можете достичь того, что вы хотите с VBA без особых хлопот.

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

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("A1")) Is Nothing Then
    Me.Range("B1").NumberFormat = "#" & Chr(34) & "/" & CStr(Me.Range("A1").Value) & Chr(34)
End If
End Sub

Этот код срабатывает каждый раз, когда значение изменяется на рабочем листе. Если значение, которое изменяется, является A1 , оно сбрасывает числовой формат для B1 . Если измененное значение находится в другой ячейке, оно ничего не делает.

Инструкции по добавлению этого кода в вашу книгу см. В моем ответе здесь. Обязательно следуйте инструкциям по добавлению кода, который запускается событием.

1

Как обходной путь, вы можете попробовать сделать пользовательский формат

#"/10"

Плохо то, что /10 - это руководство, вы не можете ссылаться на ячейку. Однако вы можете просто выбрать группу ячеек и применить это форматирование!

Для этого щелкните правой кнопкой мыши ячейку и выберите формат ячейки.

В нижней части категории (на вкладке «Число») выберите

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

Теперь примените это форматирование к нужным ячейкам. Конечно, он не будет определять, являются ли значения точными, например, 12/10!

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