Значение ячейки Excel меняется на ИСТИНА при вводе числа - PullRequest
0 голосов
/ 01 февраля 2019

У меня есть лист с сотнями запущенных пользовательских форм и макросов.Когда я ввожу число в текстовое поле в пользовательской форме или непосредственно в проблемную ячейку, оно заполняет ячейку значением, однако после того, как я щелкаю из текстового поля, ячейка автоматически превращается в ИСТИНА.Если я перезаписываю значение ИСТИНА требуемым значением, ячейка меняется на число, однако уравнения, ссылающиеся на эту ячейку, не распознают это значение.У меня проблема только в нескольких ячейках, остальные, кажется, не затронуты этим, и у всех одинаковые ссылки, макросы и т. Д., Ссылающиеся на них.

Есть предложения о том, что может быть причиной этой проблемы, или способ обойти это?Я пытался создать новые листы, копировать из областей, в которых нет этой проблемы, и т. Д., Но я продолжаю получать эту проблему.

Вот фрагмент кода, который применяется к уязвимой области:

'Element Deficiency Matrix (1a to 3k)
With Worksheets("Abutment Data")
    For Each row In .Range("A2:J4").Rows
        For Each cell In row.Cells
            Set check = Me.MultiPage1.Pages(0).Controls.Add("Forms.Textbox.1")
            With check
                .ControlSource = "'" & cell.Parent.Name & "'!" & cell.Address(RowAbsolute:=False, ColumnAbsolute:=False)
                .Left = Left
                .Font.Size = 6
                .Top = Top
                .Width = 20
                .Height = 12
                .BackColor = &HF6F6F6
                .BackStyle = fmBackStyleOpaque
                .BorderStyle = fmBorderStyleSingle
                .SpecialEffect = fmSpecialEffectFlat
                Left = Left + 24
            End With
        Next
        Left = 28
        Top = Top + 24
        Width = Width
    Next
End With

Спасибо.

Ответы [ 2 ]

0 голосов
/ 02 февраля 2019

Я закончил тем, что нашел решение проблемы.Это было связано с совершенно не относящейся к делу формой пользователя, у которой не было ссылок на лист, над которым я работал.У него было несколько объектов-флажков, которые должны были запускаться как ИСТИНА при заполнении определенных ячеек.После удаления этой пользовательской формы и ее воссоздания с нуля проблема, похоже, исчезла.

0 голосов
/ 01 февраля 2019

Какие-нибудь ячейки влияния отформатированы как "Пользовательские"?(ИСТИНА / ЛОЖЬ) Или, возможно, любая ячейка, на которую ссылается макрос, изменяет ячейки?

Пытаясь воссоздать возможную версию вашей проблемы, основываясь на моей вышеупомянутой гипотезе, я ввел 7 в ячейку А1 с помощью Customформат True / False: отображается «True»

. При настройке A2 =A1 он унаследовал форматирование True / False Custom.Когда я пытаюсь сослаться на одну из них в некоторых формулах, кажется, что она делает приоритет «Истинной / Ложной» природы ячейки, а не данных, лежащих в основе «Истинного / Ложного» состояния.Например, при установке C1 на =A1+4 отображается «True» и изменяется форматирование C1 на «Custom».В качестве примера того, как пользовательское форматирование влияет только на некоторые формулы: =Code(A1) будет правильно отображать 55 (ссылка на Юникод для 7) и будет поддерживать его форматирование.

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

Учитывая, что вы скопировали из незатронутых областей (при условии, что вы перезаписали форматирование скопированным материалом), я хотел бы изучить области рабочей таблицы, на которые ссылаются макросы.Я ожидал бы, что некорректно работающий макрос создаст больше ячеек с проблемой, если он находится внутри самого макроса.

Вы также можете попробовать выбрать каждый столбец и установить для него соответствующее форматирование, чтобы перезаписать ошибочную ячейку.Для столбцов справа от ваших данных заблокируйте их выбор и либо удалите их, либо установите общее форматирование.Идея здесь в том, чтобы добиться единообразия форматирования для каждого столбца и очистить возможное ссылочное пространство макросов (Имейте в виду, у меня нет никаких ссылок на то, как выглядит ваша Рабочая область / книга).

...