Не изменяется формат ячейки
В который раз на одном из форумов увидел вопрос с описанием непонятного бага: при попытке изменить формат ячеек или вызывать диалоговое окно Формат ячеек(правая кнопка мыши-Формат ячеек (Cell Format) ничего не происходит. Что делает невозможным изменить визуальный стиль ячеек. При этом происходить данная проблема может не для всех ячеек, а выборочно для любой ячейки листа. Если кто-то не понял проблему: для некоторых ячеек невозможно назначить или изменить границы ячеек, цвет заливки, цвет и стиль шрифта и т.п.
Возможная причина : в какой-то момент при работе с файлом в ячейках возник конфликт форматов и стиль ячеек был заблокирован. Как правило это происходит при работе с файлом в версиях Excel 2007 и выше. Я предполагаю, что связано это с тем, что в новых форматах файлов данные о форматах ячеек хранятся в XML-схемах и порой при изменениях происходит конфликт стилей и Excel не может определить текущий формат ячейки и как следствие изменить. Не могу сказать 100% действительно ли в этом причина, но других вариантов у меня пока нет. Надо узнавать у Microsoft, но никто из «владельцев» проблемы не может сказать в какой момент причина появилась, а без этого вряд ли получиться что-то нарыть. Сам я смоделировать подобную ситуацию не смог.
Решение : я пока знаю два возможных варианта решения данной проблемы. Какой из них использовать, если вы столкнулись с данной проблемой — выбирать вам.
Отказ от ответственности: все действия вы производите на свой страх и риск. Автор статьи не несет никакой ответственности за любого вида ущерб, который может быть понесен в результате ваших действий
Поэтому настоятельно рекомендую пробовать варианты решения проблем на копиях своих файлов, чтобы в любом случае сохранить свои данные.
- Если книга в формате .xls — сохраняете книгу в формате 2007(Сохранить как-Книга Excel (*.xlsx) (Save As- Excel Workbook (*.xlsx))
- закрываете книгу
- меняете расширение для книги на .zip или .rar
Если не отображается расширение:
Панель управления-Свойства папки(для Win 7 – Параметры папок)- вкладка Вид- Снять галочку с «Скрывать расширение для зарегистрированных типов файлов» - открываете любым архиватором
- в архиве будет три папки: _rels, docProps и xl
- открываете папку xl и удаляете файл Styles.xml
- закрываете архив
- меняете расширение архива на первоначальное — .xlsx
- открываете книгу, согласившись с восстановлением содержимого:
после чего получить небольшое сообщение об удаленных стилях, которые не удалось восстановить:
Все, теперь останется лишь сохранить книгу. Правда, здесь есть нюанс: при подобном подходе будут удалены так же все форматы даже тех ячеек, с которыми проблем не было (будет удалена заливка ячеек, цвет и стиль шрифтов, границы и т.п.).
Данный вариант самый действенный, т.к. удаляет все форматы из книги и возможность повторения проблемы в скором будущем весьма невелика.
- копируете любую ячейку, формат для которой изменяется без проблем
- выделяете «непослушные» ячейки-правая кнопка мыши-Специальная вставка (PasteSpecial) — Форматы (Formats)
Данный вариант (в книгах, любезно предоставленных носителями проблемы) у меня срабатывал довольно неплохо. В чем его очевидное преимущество перед первым вариантом — вы не теряете все форматы в книге. Однако есть и другой нюанс — нельзя будет с достоверностью сказать, что проблема в очень скором будущем не повторится. Хотя нельзя сказать и того, что она повторится.
Статья помогла? Поделись ссылкой с друзьями!
EXCEL > как обновить ячейку, чтобы применить новый формат ячейки?
У меня есть значение в ячейке, скажем 123456789.12345 . По умолчанию excel показывает это как 123456789.1 . Мне нужно увидеть все цифры после запятой, поэтому я меняю формат ячейки на custom > @
Чтобы применить это изменение, мне нужно обновить ячейку, например, выбрать ее и нажать F2 , а затем ввести. Но как применить это обновление для столбца или диапазона?
Нет VBA если возможно, пожалуйста.
3 Ответа
Вы можете ускорить процесс, делая это:
НЕТ VBA ВАРИАНТ
Выберите столбец, перейдите на ленту данных и щелкните текст в Столбцах .
Выберите разделитель и нажмите кнопку Далее.
Снимите все разделители и нажмите кнопку Далее.
Выберите текстовый вариант и нажмите кнопку Готово
Форматирование чисел всех ячеек будет обновляться.
Этот трюк немного взломан, но он работает. Что он делает, это берет все значения из каждой строки, а затем повторно вводит их в ячейки автоматически. По этой причине этот трюк не будет работать для ячеек, которые являются формулами. Если у вас есть формулы, нажатие клавиши F9 должно пересчитать лист и обновить формат чисел. Но по моему опыту, у меня не было этой проблемы с формулами.
VBA вариант
Просто создайте VBA с этим кодом:
Имейте в виду, что для этого вам понадобится «button» с именем Oval1_click, или просто добавьте код к кнопке, которую вы создадите.
1: Сначала мы запускаем код на кнопку нажмите
Затем мы объявляем переменную, которая будет использоваться в качестве инкрементного значения для строки ячейки.
Мы начинаем цикл в строке 1, столбце 1 (a), которые переводят в A1, только если значение не равно 0.
Мы присваиваем @ format выбранной строке (A1)
Мы выбираем, нажимаем F2 и нажимаем Enter, чтобы эта строка (A1)
Мы увеличиваем значение i, чтобы оно могло изменять строки
Мы заканчиваем цикл и код, если попадаем в пустую ячейку в этом столбце
- Отформатируйте первую ячейку так, как вы хотели.
- Скопируйте ячейку с правильным форматом.
- Выделите остальные ячейки.
- Правая кнопка мыши — > вставить специальный (или Ctrl + Alt + V ).
- Выберите Формат RadioBox.
- Нажмите кнопку Ok .
- Пресс- Enter .
- Выделите ячейки в одном столбце и установите новый формат
- Перейдите в раздел Данные — > текст в столбцы и нажмите кнопку Готово
Это должно обновить выбранные ячейки и применить новый формат.
Похожие вопросы:
Кто-нибудь знает, есть ли способ реплицировать ячейку точно в excel, чтобы она имела и то же значение, и тот же формат? Таким образом, если формат ячейки ‘parent’ изменяется (через условное.
Я хочу скопировать формат/стиль ячейки в другую ячейку Так же, как вариант Format Painter в приложении Excel Вот что я пробовал, но не работал Microsoft.Office.Interop.Excel.Style HeaderStyle =.
Как я могу изменить формат ячейки в Excel с помощью библиотеки Microsoft Excel 12.0 в C#? более конкретно, я хочу изменить данную ячейку в текстовый формат. Я прочитал .net c# изменение формата.
Я пытаюсь отформатировать ячейку в excel в формат валюты. Поэтому я иду в excel, записываю макрос преобразования обычной ячейки в формат валюты, смотрю на скрипт vb и вижу, что он выводит следующее.
У меня есть следующий код, который я обновляю ячейку в файле Excel, но не соответствует формату, который у меня есть в моей ячейке: string cad = @ Prov >
OpenXML-обновить Excel лист после обновления ячейки
У меня есть класс, который читает & пишет Excel (xlsx) ячеек с помощью OpenXML SDK. Класс основан на наиболее проголосованном ответе отсюда: Open XML SDK 2.0-как обновить ячейку в электронной.
Я пытаюсь экспортировать отчет как xls, Но когда я открываю свой экспортированный файл, я замечаю, что все форматы ячеек являются числовыми, и все данные записываются с помощью ‘ like text data.
Я ищу, чтобы автоматизировать процесс форматирования для отчета. Я застрял на том, как извлечь формат ячейки в excel. Например, макет таблицы, шрифт, цвет и т. д. Я думаю извлечь формат ячейки в.
Я обновляю значение ячейки листа Excel до 2009.03, и оно становится измененным на 2009.3. Я пробовал различные способы решения проблемы, но значение всегда менялось на 2009.3 вместо 2009.03 на.
Ну, это уже моя проблема Я делаю много тестов значения ячейки в Excel, когда я ввожу, чтобы применить новое значение, фокус ушел из ячейки в ячейку под ним,поэтому я должен снова и снова возвращать.
Формат ячеек в Excel
Форматирование ячеек – это одно из основных отличий Excel от калькулятора. Умелое форматирование позволяет разношерстный набор данных привести к удобному для осмысления виду: выделить итоговую строку, шапку, убрать «лишние» знаки после запятой, добавить границы и т.д. В общем, форматирование позволяет набор «серой массы данных» превратить в структурированную и читабельную информацию.
Наиболее часто используемые команды форматирования находятся на ленте.
Если этих кнопок не достаточно, то можно обратиться к Формату ячеек в контекстном меню (через правую кнопку мыши), либо с помощью сочетания горячих клавиш Ctrl+1, что существенно быстрее. Откроется известное многим окошко.
В диалоговом окне есть несколько вкладок. Пробежимся по их назначению, останавливаясь на интересных моментах.
Вкладка Число
Первая вкладка Число (открыта на картинке выше) задает числовой формат. Значение в ячейке можно представить как обычное число, проценты, дату и т.д. По умолчанию всем ячейкам придается Общий формат, то есть ячейка никак не отформатирована. Поэтому, как правило, требуется перейти к другому формату.
Следующий пункт Числовой. Здесь задается количество видимых знаков после запятой (по умолчанию их два), а также можно отделить группы разрядов (тысячи, миллионы и т.д.) друг от друга.
Довольно часто пользуются пунктами Дата (выбор формата отображения даты), Процентный (отображение процентного формата) и Текстовый (данные сохраняются, как текст). Текстовый формат довольно интересен, т.к. позволяет отображать информацию в том виде, в каком она вносится в ячейку, без каких-либо автоматических преобразований в дату, формулу, обрезание первый нулей и т.д. Что внесли, то видим в ячейке. Команды выбора числового формата продублированы на ленте.
Вкладка Выравнивание
Переходим на вкладку Выравнивание. Здесь задается расположение числа или текста внутри ячейки: по вертикали, горизонтали, относительно центра, по направлению и т.д.
Расположение и назначение команд, как и в других окнах Excel, интуитивно понятно. Достаточно прочитать названия. Тут выравнивание по вертикали, тут – горизонтали. Можно объединить несколько ячеек в одну или длинное название переносить по словам. Обращу лишь внимание на пару интересных моментов.
Когда в ячейку вносится число, оно автоматически «прилипает» к правому краю, а текст – к левому краю. Если число будет в левом столбце, а текст в следующем справа, то содержимое обоих столбцов будет выглядеть примерно так.
Читать такое не удобно (все сливается и нужно присматриваться). Поэтому правильно сделать отступ текста от левого края. Для этого достаточно выбрать в списке по горизонтали пункт по левому краю (отступ) и установить рядом в окошке значение отступа. См. рисунок ниже.
Теперь глазу намного приятнее.
Аналогичным образом можно отлепить число от правого края.
И еще один полезный совет. При создании таблицы в шапке часто объединяют ячейки, чтобы общее название «накрывало» сразу несколько столбцов. К примеру, как на картинке ниже.
«Продажи» захватывают все столбцы. Выглядит красиво, но не практично. К примеру, при выделении одного столбца диапазон автоматически расширится на все столбцы, находящиеся под объединенной ячейкой. Если попытаться скопировать этот диапазон, то может выскочить ошибка с сообщением о несовпадении ячеек. В общем, не очень практично. В то же время нужно сохранить внешний вид, как на картинке выше. Есть простой прием. Достаточно внести «Продажи» в крайнюю левую ячейку диапазона, посередине которого оно должно оказаться. Затем, начиная с этого слова, выделить вправо остальные ячейки диапазона, и выбрать пункт по центру выделения на вкладке Выравнивание.
Получится тот же эффект, только ячейки не будут объединены.
Рекомендую взять на вооружение этот способ форматирования. В конце статьи находится видео о том, как расположить надпись в середине диапазона, не используя объединение ячеек.
Значительная часть команд из вкладки Выравнивание также вынесена на ленту.
Следующие вкладки Шрифт, Граница, Заливка имеют понятное назначение и вид. С их помощью выбирается шрифт, цвет, размер и т.д.
Таблица без границ выглядит незавершенной. Поэтому ячейкам и таблице в целом нужно придать красивую, но не отвлекающую внимание, обводку. Выбираем во вкладке Граница тип границы, цвет, если нужно, и место проведения. Предварительный макет отображается тут же в середине окна.
Заливка ячейки производится в следующей вкладке. Здесь все еще понятней. Выбрали диапазон, залили, как нужно.
Последняя вкладка Защита используется для ограничения доступа к ячейкам (можно сделать так, чтобы нельзя было вносить изменения и др.). В конце статьи есть видео с подробным объяснением, как сделать защиту листа Excel и отдельных ячеек.
Самые часто используемые команды есть на ленте.
Если назначение какой-либо кнопки не понятно, следует подвести курсор и прочитать всплывающую подсказку.
При использовании форматирования следует помнить о том, что слишком пестрая раскраска сбивает с толку и рассеивает внимание. Поэтому формат желательно использовать только для увеличения читабельности и привлечения внимания к наиболее важной информации. Увлекаться не стоит.
Если у вас проблемы с дизайнерским представлением или различные варианты формата не приводят к желаемому результату, то можно воспользоваться готовыми стилями. Выделяем нужный диапазон и нажимает кнопку Стили ячеек на вкладке Главная на ленте.
Здесь можно выбрать готовое решение. Но я как-то не особо пользуюсь такой возможностью. Получается слишком пестро, хотя и довольно стильно, по-современному.
Пробуйте различные варианты. Смотрите, что нравится больше. Но лучше, повторюсь, не увлекаться. Думайте о тех, кто будет работать с вашими таблицами да и о себе тоже, когда придется открыть этот файл через несколько месяцев.
Не изменяется формат ячейки
В который раз на одном из форумов увидел вопрос с описанием непонятного бага: при попытке изменить формат ячеек или вызывать диалоговое окно Формат ячеек(правая кнопка мыши-Формат ячеек (Cell Format) ничего не происходит. Что делает невозможным изменить визуальный стиль ячеек. При этом происходить данная проблема может не для всех ячеек, а выборочно для любой ячейки листа. Если кто-то не понял проблему: для некоторых ячеек невозможно назначить или изменить границы ячеек, цвет заливки, цвет и стиль шрифта и т.п.
Возможная причина : в какой-то момент при работе с файлом в ячейках возник конфликт форматов и стиль ячеек был заблокирован. Как правило это происходит при работе с файлом в версиях Excel 2007 и выше. Я предполагаю, что связано это с тем, что в новых форматах файлов данные о форматах ячеек хранятся в XML-схемах и порой при изменениях происходит конфликт стилей и Excel не может определить текущий формат ячейки и как следствие изменить. Не могу сказать 100% действительно ли в этом причина, но других вариантов у меня пока нет. Надо узнавать у Microsoft, но никто из «владельцев» проблемы не может сказать в какой момент причина появилась, а без этого вряд ли получиться что-то нарыть. Сам я смоделировать подобную ситуацию не смог.
Решение : я пока знаю два возможных варианта решения данной проблемы. Какой из них использовать, если вы столкнулись с данной проблемой — выбирать вам.
Отказ от ответственности: все действия вы производите на свой страх и риск. Автор статьи не несет никакой ответственности за любого вида ущерб, который может быть понесен в результате ваших действий
Поэтому настоятельно рекомендую пробовать варианты решения проблем на копиях своих файлов, чтобы в любом случае сохранить свои данные.
- Если книга в формате .xls — сохраняете книгу в формате 2007(Сохранить как-Книга Excel (*.xlsx) (Save As- Excel Workbook (*.xlsx))
- закрываете книгу
- меняете расширение для книги на .zip или .rar
Если не отображается расширение:
Панель управления-Свойства папки(для Win 7 – Параметры папок)- вкладка Вид- Снять галочку с «Скрывать расширение для зарегистрированных типов файлов» - открываете любым архиватором
- в архиве будет три папки: _rels, docProps и xl
- открываете папку xl и удаляете файл Styles.xml
- закрываете архив
- меняете расширение архива на первоначальное — .xlsx
- открываете книгу, согласившись с восстановлением содержимого:
после чего получить небольшое сообщение об удаленных стилях, которые не удалось восстановить:
Все, теперь останется лишь сохранить книгу. Правда, здесь есть нюанс: при подобном подходе будут удалены так же все форматы даже тех ячеек, с которыми проблем не было (будет удалена заливка ячеек, цвет и стиль шрифтов, границы и т.п.).
Данный вариант самый действенный, т.к. удаляет все форматы из книги и возможность повторения проблемы в скором будущем весьма невелика.
- копируете любую ячейку, формат для которой изменяется без проблем
- выделяете «непослушные» ячейки-правая кнопка мыши-Специальная вставка (PasteSpecial) — Форматы (Formats)
Данный вариант (в книгах, любезно предоставленных носителями проблемы) у меня срабатывал довольно неплохо. В чем его очевидное преимущество перед первым вариантом — вы не теряете все форматы в книге. Однако есть и другой нюанс — нельзя будет с достоверностью сказать, что проблема в очень скором будущем не повторится. Хотя нельзя сказать и того, что она повторится.
Статья помогла? Поделись ссылкой с друзьями!