Страницы: 1
RSS
Некорректная работа Excel 2016, VBA выдает некорректный записанный код.
 
Добрый день, пытаюсь записать через "Запись макроса" заполнение ячеек "A1", "A2", "A3", "A4", "A5" цифры 1, 2, 3, 4, 5 (это для проверки)
Рекордер выдаёт такой код:
Код
. = "1"
Range("A2").Select
. = "2"
Range("A3").Select
. = "3"
Range("A4").Select
. = "4"
Range("A5").Select
. = "5"
Range("A6").Select

На сколько я понимаю правильный вариант должен быть таким:

Код
ActiveCell.FormulaR1C1 = "1"
Range("A2").Select
ActiveCell.FormulaR1C1 = "2"
Range("A3").Select
ActiveCell.FormulaR1C1 = "3"
Range("A4").Select
ActiveCell.FormulaR1C1 = "4"
Range("A5").Select
ActiveCell.FormulaR1C1 = "5"
Range("A6").Select

В связи с чем может быть данная проблема?

 
Цитата
justfroz написал:
правильный вариант должен быть таким:

Код
Range("A1") = 1
Range("A2") = 2
Range("A3") = 3
Range("A4") = 4
Range("A5") = 5
Изменено: Михаил Витальевич С. - 14.03.2020 10:58:48
 
Михаил Витальевич С., Ваще конечно такой  :D
Код
For I = 1 to 5 : Cells(I,1)=I: Next
Cells(I,1).Select

Но justfroz, неужели прям так и пишет? Ну и конечно название темы  - все ж не весь пакет не работает.
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
Но  justfroz , неужели прям так и пишет?
Именно так и пишет, скопировал с записанного макроса.
 
Цитата
БМВ написал:
For I = 1 to 5 : Cells(I,1)=I: NextCells(I,1).Select
Через цикл - это конечно круто, но тут вопрос скорее в том, почему он выдает именно ". = "1""
 
Потому, что чьи-то шаловливые ручки установили формат ячеек "текстовый"
 
Цитата
RAN написал:
Потому, что чьи-то шаловливые ручки установили формат ячеек "текстовый"
Только что поменял разные форматы, ничего не изменилось.
По прежнему выдаёт:
Код
. = "1"
Range("A2").Select
. = "2"
Range("A3").Select
. = "3"
Range("A4").Select
. = "4"
Range("A5").Select
. = "5"
Range("A6").Select
 
justfroz, у Вас макрорекордер прямо так - с первой строки - пишет . = "1"*?
 
Цитата
Юрий М написал:
justfroz , у Вас макрорекордер прямо так - с первой строки - пишет . = "1"*?
Так и пишет, на фото начал запись, заполнил 1, 2, 3, 4, 5 и остановил.  
 
Впервые такое вижу... И к чему там относится точка? ))
Если повторить запись в другой книге - результат тот же?
 
Цитата
Юрий М написал:
И к чему там относится точка? ))
Я так полагаю, там не хватает кусочка кода
Код
ActiveCell.FormulaR1C1 = "1"

Вместо всего кода он пишет только ". = "1""

Цитата
Юрий М написал:
Если повторить запись в другой книге - результат тот же?
Да, результат такой же.

 
А теперь попробуйте взять чужой фал, хоть с форума, и выполнить в нём ту же операцию.
 
Юра, думаю это бесполезно. Скорее всего где-то в библиотеках VBA ошибка. Надо пробовать либо переустановить офис, либо восстановить.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Да я тоже склоняюсь к переустановке Офиса. Только нужно будет предварительно сделать полную очистку.
 
Подобные вещи бывают при проблемах с лицензией.
Владимир
 
sokol92, кстати да. Мы же не знаем лицензионная версия офиса или нет...
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
Мы же не знаем лицензионная версия офиса или нет...
Вообще лицензионная.
Изменено: justfroz - 14.03.2020 13:23:34
 
Можно еще попробовать отключить личную книгу макросов. Закройте Excel, временно переместите Personal.xlsb  в другую папку и попробуйте снова.
Владимир
 
К #17: активирован и лицензионная версия - не одно и то же ))
 
Цитата
sokol92 написал: Можно еще попробовать отключить личную книгу макросов
Попробовал, аналогично.
 
Off
Цитата
sokol92 написал:
Подобные вещи бывают при проблемах с лицензией.
это как же надо стараться, чтоб вскрывая снести этот функционал :-)

justfroz,
1. Проба под другим пользователем на этом же ПК. Если нормально , то очистка профиля - чистка реестра.....
2. Отдельно можно удалить ветку реестра  в профиле пользователя, создаст все заново.
3. Как уже писали - восстановить офис, есть такая функция прям в контрольной панели, программы и компоненты,.....
4. Снести офис с чисткой https://support.office.com/en-us/article/uninstall-office-from-a-pc-9dd49b83-264a-477a-8fcc-2fdf5dbf61d8

Обычно до шага 3 редко доходит.
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх