Столкнулся с неизвестными мне возможностями Excel и хотелось бы спросить у людей, что это такое. В приложении первый попавшийся из сети бланк бухгалтерской отчетности. Если навести курсор на R[17]C[7], R[24]C[7] , R[42]C[7], R[43]C[7], то в строке формул отобразится значение 0, хотя в самой ячейке значение не видно. Первое, что я предположил - обычная "магия" типа цвета шрифта, совпадающего с фоном. Не угадал. Формат ячеек тоже здесь не при чем - установлен текстовый формат. От значения тоже зависимости нет - если попытаться прописать любое новое значение (включая, если заново написать ноль), то "магия" бесследно исчезает. На условное форматирование тоже не похоже... ведь устанавливая заново 0, я по сути ничего не изменяю, а потому форматирование должно сохраняться. Может кто-нибудь объяснить этот эффект?
Второе и еще более загадочное. Если в названных ячейках значение хотя бы в строке формул показывается, то в R[24]C[11], R[41]C[7], R[41]C[11] значение не выявляется даже в строке формул. Тем не менее при разборе листа через программный продукт Infragistics в этих ячейках также обнаруживается значение 0. Очень любопытно узнать, в чем дело?))))
Столкнулся с неизвестными мне возможностями Excel и хотелось бы спросить у людей, что это такое. В приложении первый попавшийся из сети бланк бухгалтерской отчетности. Если навести курсор на R[17]C[7], R[24]C[7] , R[42]C[7], R[43]C[7], то в строке формул отобразится значение 0, хотя в самой ячейке значение не видно. Первое, что я предположил - обычная "магия" типа цвета шрифта, совпадающего с фоном. Не угадал. Формат ячеек тоже здесь не при чем - установлен текстовый формат. От значения тоже зависимости нет - если попытаться прописать любое новое значение (включая, если заново написать ноль), то "магия" бесследно исчезает. На условное форматирование тоже не похоже... ведь устанавливая заново 0, я по сути ничего не изменяю, а потому форматирование должно сохраняться. Может кто-нибудь объяснить этот эффект?
Второе и еще более загадочное. Если в названных ячейках значение хотя бы в строке формул показывается, то в R[24]C[11], R[41]C[7], R[41]C[11] значение не выявляется даже в строке формул. Тем не менее при разборе листа через программный продукт Infragistics в этих ячейках также обнаруживается значение 0. Очень любопытно узнать, в чем дело?))))demoniqus
Файл - Парамерты - Дополнительно - снята галка "Показывать нули в ячейках, содержащих нулевые значения" Но только все хитро - галка снята в тот момент, когда в ячейках стоял формат "Общий" (или "Числовой", или любой , кроме "Текстового"), потом были поставлены нули, а ПОТОМ уже был поставлен формат "Текстовый"
Файл - Парамерты - Дополнительно - снята галка "Показывать нули в ячейках, содержащих нулевые значения" Но только все хитро - галка снята в тот момент, когда в ячейках стоял формат "Общий" (или "Числовой", или любой , кроме "Текстового"), потом были поставлены нули, а ПОТОМ уже был поставлен формат "Текстовый"_Boroda_
глюк ли это стороннего продукта или какая-нибудь веселая особенность Excel?
Это не глюк и не особенность Excel, это просто так автор сделал файл. А, понял, Вы спрашиваете про то, почему пустая ячейка показывается как ноль? А разве в других файла у Вас иначе? Я что-то на название темы внимание не обратил - безобразничаю с утра, не проснулся еще, наверное. [moder]Дмитрий, у Вас название темы ни о чем. Поменяйте согласно Правилам форума.
глюк ли это стороннего продукта или какая-нибудь веселая особенность Excel?
Это не глюк и не особенность Excel, это просто так автор сделал файл. А, понял, Вы спрашиваете про то, почему пустая ячейка показывается как ноль? А разве в других файла у Вас иначе? Я что-то на название темы внимание не обратил - безобразничаю с утра, не проснулся еще, наверное. [moder]Дмитрий, у Вас название темы ни о чем. Поменяйте согласно Правилам форума._Boroda_
При автоматизированном разборе этого конкретного файла бОльшая часть ячеек воспринимается именно так, как их видит реальный пользователь - совершенно пустые. Другие файлы, которые я делал своими руками, не создавали подобного эффекта. С нулевыми ячейками разобрались. Насчет нуля в текстовом формате - действительно появлялся зеленый маркер, предупреждающий о том, что число сохранено, как текст, что свидетельствует о смене типа данных. Но тем не менее, три ячейки в данном файле распознались, как содержащие некоторое значение, хотя обычными методами его не видно. Если бы все пустые ячейки опознались с подобной "ошибкой", можно было бы предполагать, что это особенность работы стороннего продукта или ошибка в его работе. Но увы, такого не наблюдается, из чего я делаю вывод - данные ячейки оформлены неизвестным для меня способом.
Для _Boroda_ - я понимаю, что название темы ни о чем, но не смог придумать, как назвать то, чего не знаю))))))))
>>А разве в других файла у Вас иначе?
При автоматизированном разборе этого конкретного файла бОльшая часть ячеек воспринимается именно так, как их видит реальный пользователь - совершенно пустые. Другие файлы, которые я делал своими руками, не создавали подобного эффекта. С нулевыми ячейками разобрались. Насчет нуля в текстовом формате - действительно появлялся зеленый маркер, предупреждающий о том, что число сохранено, как текст, что свидетельствует о смене типа данных. Но тем не менее, три ячейки в данном файле распознались, как содержащие некоторое значение, хотя обычными методами его не видно. Если бы все пустые ячейки опознались с подобной "ошибкой", можно было бы предполагать, что это особенность работы стороннего продукта или ошибка в его работе. Но увы, такого не наблюдается, из чего я делаю вывод - данные ячейки оформлены неизвестным для меня способом.
Для _Boroda_ - я понимаю, что название темы ни о чем, но не смог придумать, как назвать то, чего не знаю))))))))demoniqus
RAN, я не силен в VB...)))) Если я правильно представляю, то все работает так: Dim a& - выделяет переменную a под хранение адреса [другой переменной] [a1] = vbNullString - присвоение null-значения. Переменная задана, как массив судя по всему. MsgBox [a1] - выводит непосредственно null-значение в message и поэтому в первом сообщении пустышка a = [a1] - в переменную a подкладывается адрес [a1] и вы итоге в MsgBox a мы видим 0
Получается, что ячейки каким-то образом ссылаются на vbNullString и поэтому при разборе там обнаруживается 0... Я правильно все понял?
RAN, я не силен в VB...)))) Если я правильно представляю, то все работает так: Dim a& - выделяет переменную a под хранение адреса [другой переменной] [a1] = vbNullString - присвоение null-значения. Переменная задана, как массив судя по всему. MsgBox [a1] - выводит непосредственно null-значение в message и поэтому в первом сообщении пустышка a = [a1] - в переменную a подкладывается адрес [a1] и вы итоге в MsgBox a мы видим 0
Получается, что ячейки каким-то образом ссылаются на vbNullString и поэтому при разборе там обнаруживается 0... Я правильно все понял?demoniqus
Нет. vbNullstring - текстовая строка нулевой длины, что и видно в первом MsgBox. a& - число типа Long При преобразовании текста vbNullstring в число получаем 0. Что и видно во втором MsgBox.
Не подкладывается адрес, а записывается значение ячейки.
Нет. vbNullstring - текстовая строка нулевой длины, что и видно в первом MsgBox. a& - число типа Long При преобразовании текста vbNullstring в число получаем 0. Что и видно во втором MsgBox.