Не вводятся данные в ячейку excel

Обновлено: 04.07.2024

Если Вам часто приходится вводить даты и время в ячейки, то Вам должна понравиться идея писать их сокращенно, без точек-дробей-двоеточий - просто как число. Чтобы в заданном диапазоне ячеек листа, например, число 250699 автоматически превращалось в 25.06.1999, а 1125 в 11:25.

Для этого щелкните по ярлычку листа, куда будут вводиться даты и время и выберите команду Исходный текст (Source Code). В открывшееся окно редактора Visual Basic скопируйте и вставьте следующий код:

Диапазоны A2:A10 и B2:B10 замените на свои области листа, куда будут подобным образом вводиться даты и время, соответственно.

Ссылки по теме

Макрос вообще не нужен если формат ячейки поставить "Дата", а значения вводить: 25-06-1999 или 25/06/1999 или 25,06,1999. Если набрать 25/6 или 25-06 . то год подставится текущий. Так в том и фишка, чтобы лишних знаков препинания не вводить. Обалдеть, класс. Спасибо огромное автору.
И что поразительно у меня это работает. Не ставьте заранее для ячейки ввода формат даты. Иначе все введенное Excel автоматически преобразует в дату, а точнее - в свой специфический код даты. И макрос работает дальше уже с ним, а не с введенными вами цифрами. у меня не работает даже в скачанном примере. Если не менять формат ячейки, и ввести, к примеру, 110887, то ничего не меняется, цифры в таком формате и остаются. Если формат ячейки поменять на формат даты, то выдает 06.08.2203 Защита от макросов выключена? Файл - Параметры - Центр Управления Безопасностью - Параметры Центра Управления - Макросы - Разрешить все макросы. И перезагрузиться. Подскажите, пожалуйста, почему не работает на всю книгу? Если создаю для одного листа - все в порядке. Статью по созданию макросов прочитала, но все равно не получается. Потому, что этот макрос написан для листа и вставлять его надо в модули листов, а не в модуль ЭтаКнига. здравствуйте. макрос отличный на много сокращает количество нажатий кнопок на клавиатуре и соответственно времени рутины. при его использовании столкнулся с тем что при внесении даты(например 310113) если ошибочно внес не 6 знаков(например 3113), а другое количество выдает ошибку необходимости отладки кода макроса по 12 строке и макрос перестает работать.подскажите, что можно сделать ? В случае занесения не 6 символов ошибку выдавать не должно - в 10-й строке идет проверка на наличие именно 6 символов, и если количество введенных цифр не равно 6 - макрос заканчивает работу и ничего не происходит. Добрый день!
На работе этот макрос используем на нескольких компьтерах ошибка «runtimeerror ‘13’ typemismatch» появляется при ошибочном внесении например «1»или «131312».
После этого макрос перестает работать. Макрос включается только после перезапускаExcel.
Я не могу разобраться почему так происходит.
Подскажите,что нужно сделать что бы:
1. -макрос снова начинал работать без перезапуска Excel
2. - не появлялась на экране ошибка «runtimeerror ‘13’ typemismatch» которая приводит в панику некоторых пользователей.
3. - и посмотрите пожалуйста макрос предложенный Вами чуть чуть мной переделанный. Какие в нем недостатки. В VBA профан за ранее извеняюсь за назойливость .

;)

(файл в котором у меня ошибка прикрепить не могу не нахожу кнопки "прикрепить файл"

;)

А ее тут и нет - это комментарии к приему, а не форум. Лучше создайте тему на форуме и прикрепите ваш файл с макросом - а мы его покритикуем

А зависание макроса происходит, скорее всего, из за того, что вы в коде отключаете обработку событий Application.EnableEvents=False, а после возникновения ошибки она у вас обратно не включается.

Сразу Спасибо за сайт. оч помогает.

а как переделать макрос для времени, если вводится формат 21 . 15 (ну или любой другой знак, всякое бывает), ну а нужен обычный 21:15

dDate = DateValue(Left(StrVal, 2) & "/" & Mid(StrVal, 3, 2) & "/" & Right(StrVal, 2))
12 строка подсвечивается для отладки, когда макрос перестаёт работать.

Это происходит, как я заметил, в случае:
1. Сортировки таблицы, несколько столбцов которой заполнены при помощи данного макроса датой и временем.
2. После ошибочного ввода в рабочем диапазоне макроса даты с разделителями, удаления ошибчной записи и последующей попытки заполнить ячейку не применяя разделители, при помощи макроса.

Добрый день! не в коем случаи не хочу обидеть автора статьи, но у меня есть один трюк именно для того, чтобы лишний раз не нажимать shift и какой либо знак. он делается очень легко и для даты и для времени, без всякого там кода VB, сам я ламер в VB поэтому вечно ищу более легкие пути, так вот я делаю так:

для даты:
в формате ячейки -> все форматы 00\.00\.0000
пример:
12122012 -> 12.12.2012

для времени -> все форматы 00\:00
пример:
1212 -> 12:12

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

Надеюсь Вам понравится такая идея.
если у кого будут вопросы или захотите сказать спасибо, я в facebook Parviz Ruziev

Добрый день, описанный вами прием всего лишь придаст форму но не изменит сути, Excel не будет воспринимать введенное значение как дату.

К сожалению, с отофрматированными вашим способом датами нельзя работать. Попробуйте вычесть из одной даты другую, чтобы посчитать количество дней - и получите ерунду. И ни одна функция из категории "Даты и время" с вашими "датами" работать не будет. Так что не советовал бы идти таким путем, при всем уважении.

Посмею предложить свой вариант. )))

В формате ячейки (у меня это D2) выставляем формат типа:
00"."00"."0000

На проверку вводимых данных задаем условия проверки:
тип данных – другой; и на соответствие формуле в соответствующей ячейке (у меня это R2).

;)

Формула такого вида:
=ЕСЛИ(ИЛИ(И(ДЛСТР(D2)=7;ДАТАЗНАЧ(ТЕКСТ(ДАТА(ПРАВСИМВ(D2;4);ПСТР(D2;2;2);СЦЕПИТЬ("0";ЛЕВСИМВ(D2)));"ДД.ММ.ГГГГ";))>=25569;ДАТАЗНАЧ(ТЕКСТ(ДАТА(ПРАВСИМВ(D2;4);ПСТР(D2;2;2);СЦЕПИТЬ("0";ЛЕВСИМВ(D2)));"ДД.ММ.ГГГГ";))<=44196;ЗНАЧЕН(ТЕКСТ(ПСТР(D2;2;2);"00";))<=12);И(ДЛСТР(D2)=8;ДАТАЗНАЧ(ТЕКСТ(ДАТА(ПРАВСИМВ(D2;4);ПСТР(D2;3;2);ЛЕВСИМВ(D2;2));"ДД.ММ.ГГГГ";))>=25569;ДАТАЗНАЧ(ТЕКСТ(ДАТА(ПРАВСИМВ(D2;4);ПСТР(D2;3;2);ЛЕВСИМВ(D2;2));"ДД.ММ.ГГГГ";))<=44196;ЗНАЧЕН(ТЕКСТ(ПСТР(D2;3;2);"00";))<=12;ИЛИ(ЕСЛИ(И(ИЛИ(ЗНАЧЕН(ТЕКСТ(ПСТР(D2;3;2);"00";))=1;ЗНАЧЕН(ТЕКСТ(ПСТР(D2;3;2);"00";))=3;ЗНАЧЕН(ТЕКСТ(ПСТР(D2;3;2);"00";))=5;ЗНАЧЕН(ТЕКСТ(ПСТР(D2;3;2);"00";))=7;ЗНАЧЕН(ТЕКСТ(ПСТР(D2;3;2);"00";))=8;ЗНАЧЕН(ТЕКСТ(ПСТР(D2;3;2);"00";))=10;ЗНАЧЕН(ТЕКСТ(ПСТР(D2;3;2);"00";))=12;);ЗНАЧЕН(ТЕКСТ(ЛЕВСИМВ(D2;2);"00";))<=31);ИСТИНА;ЛОЖЬ);ЕСЛИ(И(ИЛИ(ЗНАЧЕН(ТЕКСТ(ПСТР(D2;3;2);"00";))=4;ЗНАЧЕН(ТЕКСТ(ПСТР(D2;3;2);"00";))=6;ЗНАЧЕН(ТЕКСТ(ПСТР(D2;3;2);"00";))=9;ЗНАЧЕН(ТЕКСТ(ПСТР(D2;3;2);"00";))=11);ЗНАЧЕН(ТЕКСТ(ЛЕВСИМВ(D2;2);"00";))<=30);ИСТИНА;ЛОЖЬ);ЕСЛИ(И(ЗНАЧЕН(ТЕКСТ(ПСТР(D2;3;2);"00";))=2;ЗНАЧЕН(ТЕКСТ(ЛЕВСИМВ(D2;2);"00";))<=29);ИСТИНА;ЛОЖЬ)));ИСТИНА;ЛОЖЬ)

Не пойму почему так отображает, в выше приведенной формуле смайлики заменить на ")" без кавычек естественно.

Соответственно дата вводится без каких-либо посторонних знаков, только цифры. Формула проверяет что бы введенный диапазон был между 01.01.1970 и 31.12.2020, при вводе большей или меньшей даты – выдает ошибку, при попытке ввести 13 и т.д. месяц – выдает ошибку, при попытке ввести более 31 дня (в январе, марте, мае, июле, августе, октябре, декабре) – выдает ошибку, при попытке ввести более 30 дней (в апреле, июне, сентябре, ноябре) – выдает ошибку, при попытке ввести более 29 дней в феврале – выдает ошибку. Осталось добить проверку високосных лет. )))))

Ну и перевести это все безобразие в дату тоже не проблема, у меня в ячейке I2 идет подсчет даты от введенной в ячейку D2 плюс 2 месяца вот такой формулой:
=ЕСЛИ(ЕПУСТО(D2);""; ЕСЛИ(ДЛСТР(D2)=7; ДАТАМЕС(ДАТА(ПРАВСИМВ(D2;4);ПСТР(D2;2;2);(СЦЕПИТЬ("0";ЛЕВСИМВ(D2))));2); ДАТАМЕС(ДАТА(ПРАВСИМВ(D2;4);ПСТР(D2;3;2);ЛЕВСИМВ(D2;2));2)))

Сразу отвечу на вопрос зачем так все усложнять – просто задача стояла сделать без макросов.

а можно чтоб при вводе числа например 5 появлялась дата не текущего а конкретного месяца или хотябы прошлого месяца текущего года, я например делаю отчёт за прошлый месяц и чтоб не вводить значения года и месяца а только день А как сделать так чтобы дата и время было в одной ячейке Принес с работы файл созданный в офисе 2007 который работает хорошо (именно с этим макросом), но дома на офисе 2013 не хочет пишет Could not load an object because it is not available on this machine.(Не удалось загрузить объект, потому что он не доступен на этой машине.) В чем проблема? А как сделать чтобы выводился формат часы:минуты:секунды? Или просто минуты:секунды


Николай здравствуйте! Случайно наткнулся на ваш сайт и . был в восторге! Спасибо огромне за Вашу проделанную работу. Но у меня вопрос к вам, а как макрос будет выглядеть если надо ввести время так: 12:15-13:45 (это в одной ячейке). Заранее спасибо. =Будущий гуру Exel=
P.S. и год как убрать? Дмитрий, посмотрите вот эту статью - многое станет понятнее по датам и времени.




Подскажите пожалуйста, если мне нужно даты во многих столбцах (B; N;O; S) начиная с 3 строки указывать, как это прописать в макросе?


Доброго времени суток!
Прошу прощения за вопрос, в VBA новичок. К сожалению, нет времени чтобы изучить возникшую проблему, необходимо срочно сделать форму отчета кассира КМ-6 (форма типовая, скачана из альбома унифицированных форм в Консультанте). Проблема в том, что в этой форме графы "дата составления" и "время работы" представляют собой объединение нескольких ячеек и изменение диапазона указывает на неправильное событие, если я правильно поняла. Какой должен быть макрос, чтобы эта проблема была устранена?
К сожалению, не удается вставить скрин-шот для наглядности.
Заранее благодарна.

Добрый день. Скажите пожалуйста, как можно установить автоматический ввод даты и времени в нескольких столбцах сразу (с помощью макроса, функция Range("F3:F50200")

For Each cell In Target 'проходим по всем измененным ячейкам
If Not Intersect(cell, Range("F3:F50200" ) Is Nothing Then 'если изменененная ячейка попадает в диапазон A2:A100
With cell.Offset(0, 1) 'вводим в соседнюю справа ячейку дату
.Value = Now
.EntireColumn.AutoFit 'выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке
End With
End If
Next cell
End Sub


Excel не распознает ввод даты на английском. Подскажите, что делаю не так ? )

Если ввожу 10янв14, преобразует в дату 10.01.2014 , формат ячейки становится Custom (все ОК)
Если ввожу 10Jan14, остается в формате General
Пробовал заранее ставить формат ячейки "Date", все равно остается текст 10Jan14


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


Добрый день, у некоторых пользователей при вводе данных в разные ячейки макрос выдает ошибку Compile erorr: Synteax erorr

Выскакивать окно Visual Basic при любом редактировании значений.
Дико неудобно, при введении каждого значения приходится закрывать окно VB, дважды нажимая на кнопки.
Один пользователь даже пробовал менять дистрибутивы винды и офиса, переустанавливать – везде одно и то же.

Судя по ошибке у стоит библиотека или скрипт, который позволяет выполнять эту процедуру.


Приветствую! Вопрос в следующем, подскажите, какой должен быть код, чтобы можно было редактировать в дальнейшем дату в введенной ячейке? Т.е я ввел 150216, он мне автоматом перевел в 15.02.2016, супер, но, если ошибся на день, пытаешься отредактировать на 14.02.2016, дата меняется на 20.04.1949 и в дальнейшем выскакивает ошибка "Run-time Error 13. Type mismatch". После этого код больше не работает и необходимо закрывать и открывать заново документ. Это первый момент.

Спасибо. Код золотой и очень полезен в работе, но хочется чтобы не было таких ошибок т.к будет активно использоваться в работе. Буду очень благодарен.

Николай! Добрый вечер! Подскажите начинающему плиз. Мне нужно тоже самое, что и в Вашем примере, только формат не часы:минуты:секунды, а просто минуты (единицы минут, несколько):секунды. Всего 3 цифры. Например, 3:40. Никак не получается сделать. Моя конечная цель - автоматизация оценивания учеников по 5 бальной системе по результатам забегов на физкультуре. Может, как-то изменить макрос?


:)

Здравствуйте! Очень сильно стараюсь вычислить из двух результатов времени лучший, это для забегов спортсменов, т.е. 12:55:10 и 12:55:45, как определить с помощью формул в столбе №3 лучшее время (12:55:10) что бы сразу из двух результатов писался лучший. Где то я ошибаюсь в формул, что то ставлю лишнее или на оборот не до ставляю За ранее Спасибо большое.


Николай, добрый день! А почему после защиты листа, на котором применяется макрос, он перестает работать? Защита с ячеек, куда нужно вводить время, снята. Появляется ошибка Run-time error '1004': Нельзя установить свойство NumberFormat класса Range. Как устранить поломку? Спасибо заранее.


Здравствуйте, Николай. Подскажите, как правильно прописать этот макрос, чтоб он выставлял время (без даты) в определенных строках. Например E11:AI11, E12:AI12, E15:AI15, E16:AI16 и т.д.

Ребята или Николай, кто-нибудь в общем)) Помогите
Замечательный код, но вот вопрос:
Если я хочу внедрить этот код для подобного способа ввода даты в колонку где у меня уже был изначально какой-то формат ячеек к сожалению, и на какой бы другой формат я их не менял, результата нет положительного, тогда как я могу вернуть "никакой формат ячеек" или может мне что то в коде вашем поменять можно?

ЗЫ более того, я ввожу эти 6 цифр не в саму ячейку, у меня для этого есть код, с помощью которого вылазит диалоговое окно с просьбой ввести данные, этот код ссылается на нужную ячейку где я собственно и хотел бы увидеть дату. Но опять же эти 6 цифр я ввожу в диалоговое окно, для которого написал код.

Если не понятно что я имею в виду говоря про код и диалоговое окно, то вот немного подробнее:
Я настроил свою таблицу для работы максимально удобно, чтобы не возить мышкой и кликать триста раз по ячейкам, я уже в исходном коде листа прописал несколько полезных штук, таким образом, что мне надо только в начале ввести в определенную ячейку данные, после чего запускается код и цепь разных действий в виде диалоговых окон типа:

Диалоговое окно "Введите дату" - это как раз первый запрос - и мне она нужна не текущая, а та что я сам впишу, ибо это дэдлайн проекта. Текущая дата вводится автоматом в другом месте, это я уже благодаря кстати Николаю реализовал пару-тройку лет назад, за что большое спасибо и не только за это)) В общем мне пока приходится вводить дату полностью или писать типа "9 мая" чтобы быстрее было, но мне гораздо удобнее было бы все вводить на нампаде, раз 6 цифр ввел нажал Enter, вылазит следующее диалоговое окно "введите бюджет" ну и так далее, нампад - энтер, нампад-энтер — быстро и удобно, и не надо бегать по строке по разным ячейкам глазами выискивать, тем более риск ввести не туда, а колонок много и перепутать легко.
Это я для полной картины просто написал, чтобы понимали)) а то мало ли, может если способ ввода реализуется с помощью вот таких диалоговых окон, то этот ваш код для ввода даты не годится.

Заранее благодарю всех и Николая в особенности.

КСТАТИ! Раз у меня есть текущая дата, то может вместо ввода 6 цифр, можно было бы написать код таким образом чтобы при вводе например цифры 3 на столько увеличивалась текущая дата и вводилась бы как раз в ячейку дедлайна в виде даты? если так можно реализовать код, то это была бы просто бомба))

Например у меня есть текущая дата 6 мая в ячейке A22, вылазит диалоговое окно с просьбой ввести число на которое будет увеличена дата ячейки A22 и введена в ячейку K22 с учетом прибавления того числа что я ввел в диалоговое окно, например я ввел цифру 3 и в ячейке K22 появилась дата 9 мая, то есть код поссчитал 6+3=9 и ввел нужные данные в ячейку K22 в формате даты "9 мая" или "09.05.2017" - без разницы

Как считаете можно такое провернуть??


Подскажите пожалуйста как в строке 7 заменить Range("A2:A10") на динамический диапазон?


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

ИП Павлов Николай Владимирович
ИНН 633015842586
ОГРН 310633031600071

Эксель не дает вставить строку? Очистите все ячейки, а после удалите форматирование из остальных строк / столбцов, попробуйте изменить свойства Position для объекта или удалите лишний мусор. Ниже рассмотрим, почему Excel не дает вставить данные, в чем могут быть причины подобной проблемы, и как ее устранить своими силами.

Причины

Проблема, почему программа не дает это сделать, может возникнуть при добавлении форматирования на всю строку или указания формулы на весь лист. Еще одна вероятная проблема связана с накоплением лишнего макроса и необходимостью очистки. Ниже подробно рассмотрим, как правильно решить эту неисправность.


Что делать, если Excel не дает вставить данные

Зная, почему в Экселе не вставляется строка, можно принять решение по поводу дальнейших действий и устранения ошибки.

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

  • Откройте таблицу, куда необходимо вставить строку. Для выполнения работы жмите в нужной точке и кликните правой кнопкой мышки. Сделайте это на ячейке, над которой планируется вставка. В открывшемся меню выберите пункт «Вставить». Если Эксель не дает вставить данные, следуйте рассмотренным ниже инструкциям.


  • Для копирования без контекстного меню жмите на сочетание Ctrl+. После открытия диалогового окна приложение предлагает вставить ячейки в таблицу со смещением вниз, ячейки со сдвигом вправо, строку, столбец. Поставьте переключатель в «строку» и подтвердите действие.


  • Если Excel не вставляет строки в конце таблицы и не дает это делать, постарайтесь сделать все правильно. Для смещения таблицы вниз выделите последний ряд, а справа внизу потяните за крестик на столько строчек (на сколько необходимо добавить). При копировании данных удалите информацию с материнской ячейки. Для этого в меню выберите «Очистить содержимое».


Теперь рассмотрим, как действовать, если не вставляются строки в Excel с имеющейся информацией. Приведем подробную инструкцию, которую рекомендуют сами разработчики программы в ситуации, когда Эксель не дает вставить данные:

  • Жмите на ячейку заголовков в 1-м пустом столбце справа от информации. Ячейка заголовков представляет собой первую секцию в каждом столбце, указывающая, какой столбец вы применяете.
  • Кликните на кнопку Ctlr и зафиксируйте ее в нажатом состоянии.
  • Жмите на кнопку «Стрелка вправо», для выделения столбцов с правой стороны.
  • Кликните на «Правка» и выберите «Удалить».
  • Жмите на 1-ую пустую строчку под последней строкой с данными.
  • Кликните и зафиксируйте кнопку Ctrl, а после этого жмите Стрелка вниз для выделения всех строчек внизу.
  • В меню «Правка» выделите команду «Удалить». Для удаления форматирования остальных ячеек, в которые Эксель не добавляет строки и не дает копировать, сделайте указанные выше шаги.


  • Кликните маленькую ячейку между заголовком 1-й строки и 1-го столбца для выделения текста.
  • Войдите в меню «Формат» и выберите пункт ячейки, а после откройте раздел «Граница». Учтите, что форматирование, добавленное в оставшиеся секции, часто меняется. При этом подразумевается, что пользователь хочет удалить форматирование границ. Если нужно убрать другие виды форматирования, придется поменять параметры на иной вкладке в окне «Формат ячеек».
  • Выберите «Нет», а после кликните «ОК».


  • Жмите любую ячейку в строчке, куда вы планируете вставить строку. Убедитесь, что система дает это сделать.
  • В меню «Вставка» выберите строчку или столбец (в зависимости от поставленной задачи).

Если Эксель дает вставить строчку, значит, работа сделана правильно.

Изменение свойств Position

При возникновении вопроса, почему в Эксель не вставляются строки, попробуйте внести изменения в свойства объекта для перемещения и изменения размеров. Этот метод подходит для Эксель версий до 2003 года включительно. Если софт не дает сделать работу, пройдите такие шаги:

  1. Выделите ячейку и жмите правую кнопку мышки.
  2. Выберите пункт «Показать примечание» или «Показать или скрыть примечание».
  3. Поставьте указатель мышки на границу объекта, пока он не превратится в стрелку с четырьмя маленькими стрелками в указателе.
  4. Жмите на объект для его выделения.
  5. В Эксель 2003, если он не дает вставить строчку», выберите «имя объекта» в меню «Формат», а в 2007-м жмите на «Формат <> имя объекта».
  6. Перейдите в раздел «Формат» и откройте «Свойства».
  7. Кликните на кнопку «Переместить и изменить размер ячейки».
  8. Жмите на «ОК».

Сделайте указанные выше шаги для каждого объекта в нужной секции объекта. После этого проверьте, дает ли Эксель вставить материал или нет.

Удаление макроса

Одной из причин, почему Эксель не вставляет строки в таблицу, является наличие макросов и необходимость их очистки. Для удаления лишнего, когда программа не дает вставить строчку, сделайте следующее:

  1. Войдите на вкладку «Разработчик» и раздел Visual Basic.
  2. Выберите элемент «Макрос».
  3. При недоступной вкладке «Разработчик» справа жмите на кнопку с шестеренкой и выберите «Параметры ленты».
  4. В разделе «Настройки» поставьте отметку «Разработчик».
  5. В списке выберите макрос, который нужно удалить, и выберите соответствующий пункт.


Теперь вы знаете, почему в Эксель не вставляется строка, и что делать для восстановления нормальной работы программы. Начните с проверки правильности выполнения шагов, попробуйте удалить лишние данные, измените свойства или удалите лишние макросы. В комментариях расскажите, почему софт не дает вставить нужные сведения, и что еще можно сделать для решения такой проблемы в Эксель.

Причина, почему не удается вставка

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

  1. Информация, которую вы хотите копировать, не соответствуют формату ячеек.
  2. Столбцов не хватает для приятия информации, из-за чего данные не удается добавить.
  3. Область копирования и область вставки имеют разный размер / форму.
  4. Устаревшая версия ПО.
  5. Неправильные надстройки.
  6. Повреждение программного обеспечения Майкросотф Офис.
  7. Некорректная учетная запись DCOM.
  8. Загрязнение временными файлами.

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


Что делать

Теперь подробно разберемся с шагами, позволяющими решить возникшую проблему. Если приложению Microsoft Excel не удается вставить данные, используйте одну из следующих рекомендаций.

Измените формат ячейки

Если в Эксель не получается копировать сведения, причиной может быть несоответствие формату ячеек. Для решения проблемы нужно убедиться, что этот параметр соответствует формату данных, внесение которых планируется в ячейку. Для изменения формата сделайте следующее:

  1. Жмите на заголовок столбца А, В, С и других (если вы хотите внести изменения).
  2. Зайдите во вкладку «Главная» и жмите меню «Формат» «Общий» в числовом виде.
  3. Кликните на формат ячейки, который соответствует добавляемым данным.


Вставьте другие столбцы

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

Чтобы вставить дополнительные столбцы, сделайте следующее:

  1. Жмите на заголовок столбца (А, В и т. д) справа от места, куда нужно вставить новые данные.
  2. На вкладке «Главная» жмите «Вставить». Первоначальный столбец смещается в правую сторону и добавляется новый элемент.
  3. Делайте шаг 2, пока не появится нужное число столбцов.


Проверьте соответствие области копирования / вставки

Если в приложении Эксель не вставляется скопированный текст, убедитесь в соответствии областей копирования / вставки по параметрам размера и фигуры. Для решения проблемы перед вставкой выберите левую ячейку, а весь диапазон. Чтобы вставить данные в Excel, сделайте следующее:

  1. Жмите на ячейку, куда вы хотите вставить данные и не удается это сделать.
  2. На вкладке «Главная» выберите «Вставить».

Вы можете выбрать диапазон ячеек такой же, как число строк / столбцов в качестве данных, которые нужно вставить. После этого на вкладке «Главная» выберите пункт «Вставить».

Обновите программу Excel

В ситуации, когда приложение Эксель не копирует данные, причиной может быть применение устаревшей версии. Для решения проблемы нужно установить имеющиеся обновления через параметры Виндовс и раздел «Обновления и безопасность». Здесь войдите в дополнительные параметры и убедитесь в наличии отметки «При обновлении Windows предоставить обновления для других …». При появлении новой версии Виндовс автоматически выполнить установку обновленного приложения Excel, и имеющиеся ошибки будут исправлены. При этом убедитесь, удается после этого копировать что-либо или нет.


Отключите надстройки в безопасном режиме

Если в Microsoft Excel не удается вставить данные, попробуйте войти в приложение в безопасном режиме. Его суть подразумевает вход в программу с минимальными настройками. Для этого зажмите кнопку Ctrl и запустите программу. Далее сделайте следующее:

  1. Зайдите в «Файл» и «Параметры».
  2. Войдите в режим «Надстройки».
  3. Посмотрите, какие из них является активными.
  4. По очереди выключайте их.

После этого попробуйте вставить данные в приложение Excel. Если это не удается сделать, воспользуйтесь другим вариантом.


Восстановите приложение

Причиной рассматриваемой ошибки может быть нарушение офисного пакета и сбой его работы. Для исправления проблемы попробуйте восстановить приложение. Для этого вызовите окно «Выполнить» (Win+R) и введите команду appwiz.cpl . В появившемся разделе «Программы и компоненты» выберите свой пакет и жмите «Изменить», а далее — «Восстановить». При этом начинается процесс восстановления программы, в том числе пакета Excel. На все манипуляции может уйти 5-10 минут.


Проверьте учетную запись DCOM

В случае, когда в Экселе не вставляется скопированный текст, проверьте DCOM. Это программная конструкция, позволяющая ПК / ноутбуку запускать софт на другом устройстве. При этом приложение Excel как бы запускается локально. Если же не удается вставить данные, возможно, вы используете неправильный режим.

Для решения вопроса сделайте следующее:

  1. Жмите Win+R.
  2. Введите dcomcnfg.
  3. Откройте «Службы компонентов», а далее «Компьютеры» и «Приложения СОМ+.
  4. Перейдите в Настройки DCOM и Microsoft Excel Application.
  5. Жмите правой кнопкой мышки и войдите в свойства.
  6. Зайдите в раздел «Удостоверение» и убедитесь, что у вас установлен пункт «Запускающий пользователь».


После этого проверьте, удается ли приложению Excel внедрить данные. В большинстве случаев проблема исчезает.

Очистите временные файлы

Для устранения проблем с копированием в Excel почистите временные данные из профиля. Для этого войдите по ссылке C:Usersимя пользователяAppDataRoamingMicrosoftExcel в скрытых папках Виндовс. Выберите своего пользователя, найдите XLSTART и попробуйте ее удалить. После этого запустите приложение и проверьте эффект.

Если вы забыли пароль на лист, то можете воспользоваться командой моей надстройки MulTEx - Снять защиту с листа(без пароля). Надстройка платная, но есть ДЕМО период на один месяц, которого должно хватить, чтобы снять защиту с одного листа.

Строка формул

Причина третья - Запрещен ввод напрямую в ячейках
И самая экзотическая причина - редактирование напрямую в ячейках запрещено. Это значит, что редактировать значение ячеек напрямую на листе нельзя, однако через строку формул это действие допускается без проблем и ограничений(при условии, что озвученные выше причины отсутствуют).
Где расположена строка формул:

В таком случае надо проверить следующие настройки:

  • для Excel 2003: Сервис -Параметры -вкладка Правка -установить флажок Правка прямо в ячейке
  • для Excel 2007: Кнопка Офис -Параметры Excel (Excel Options) -Дополнительно (Advanced) -установить флажок Разрешить редактирование в ячейках (Allow Editing Directly in the Cells)
  • для Excel 2010 и выше: Файл (File) -Параметры (Options) -Дополнительно (Advanced) -установить флажок Разрешить редактирование в ячейках (Allow Editing Directly in the Cells)
  • Excel 2003:
    Сервис-Безопасность-Уровень макросов "Высокий"
  • Excel 2007:
    Кнопка Офис-Параметры Excel (Excel Options) -Центр управления безопасностью (Trust Centr) -Параметры центра управления безопасностью (Trust Centr Settings) -Параметры макросов (Macro Settings) -Отключить все макросы без уведомления (Disable All Macros without notification)
  • Excel 2010 и выше:
    Файл (File) -Параметры (Options) -Центр управления безопасностью (Trust Centr) -Параметры центра управления безопасностью (Trust Centr Settings) -Параметры макросов (Macro Settings) -Отключить все макросы без уведомления (Disable All Macros without notification)

После изменения параметров безопасности макросов необходимо перезапустить приложение Excel: закрыть его полностью и открыть заново. Только после этого изменения вступят в силу.

О том, что такое модуль листа и где его искать можно прочитать в статье: Что такое модуль? Какие бывают модули?

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

Читайте также: