Я уже немного работаю над программой математических упражнений. Я задавал подобный вопрос ранее, но мне не помогли с этим. Поэтому я решил более тщательно исследовать проблему и нашел что-то интересное.
Теперь, прежде чем я начну, я просто хочу пройти предварительные экзамены. Да, я использую Microsoft Excel 2007. Нет, хотя это может работать для вас, но не для меня.
Хорошо, теперь об этом позаботятся:
Проблема, с которой я сталкиваюсь, это когда у меня
ActiveCell.NumberFormat = "# ?/?"
в моем коде my это приводит к смещению центральной линии Excel влево (это единственный способ, которым я знаю, как это объяснить).
То есть, если у вас есть что-то правильное, выровненное по правому краю, оно будет выглядеть по центру, если это будет по центру, то оно будет почти выровнено по левому краю, а разница между левым и центральным выравниванием будет очень небольшой.
если у меня есть
ActiveCell.NumberFormat = "?/?"
тогда нет ни одной из вышеперечисленных проблем.
Весь код этого раздела выглядит следующим образом:
Sub test()
Sheets("sheet1").Select
Range("a1").Select
For i = 1 To 10
ActiveCell.NumberFormat = "# ?/?"
With ActiveCell
.Locked = False
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
End With
ActiveCell.Value = 33
ActiveCell.Offset(0, 1).Select
Next i
End Sub
Будем весьма благодарны за любые предположения или причины, по которым это происходит. В идеале пользователь должен видеть смешанное число.
Дополнительная информация: если я поменяю каждую ячейку вручную на дробь, она будет работать нормально. это только когда Excel делает это.