Страницы: 1
RSS
Перенос даных из формы в следующую пустую строку
 
Помогите пожалуйста, есть файл, работает не корректно, что нужно:
1) в Листе1 в столбце "B" есть форма заполнения данных, необходимо, чтобы при нажатии кнопки "в Ведомость"
в зависимости от выбранного варианта значения ячейки В16, часть данных это формы добавлялась в таблицу с одноименным названием, в следующую пустую строку (Все строки всегда будут заполнены (возможно за исключением отчества)
Пример, если В16 = Н,
то Данные из формы переносятся в лист "Н" и аналогично с двумя другими вариантами (У,Т).

2) аналогично если кто знает, есть необходимость чтобы "это" работало и в open office под Linux
Изменено: Дмитрий Иванов - 11.07.2020 22:43:16
 
При открытии - ошибка. "Формат файла не соответствует его расширению..." и т.д....
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Файл XlM с поддержкой макросов, просто иначе не сохранялся
 
Чтобы созданный макрос сохранился в книге, необходимо сохранить файл в специальном формате .xlsm или .xlsb.
 
Цитата
Дмитрий Иванов написал:
в следующую пустую строку
А какая строка "следующая пустая" на листе", например, "Н"? Строка 503 (т.к. в яч. А502 есть число)? Или строка 873 (т.к. в яч. B872 есть слэш)? Или Вы некорректно сформулировали задачу или выложили неудачный пример?
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Цитата
chesas написал:
Чтобы созданный макрос сохранился в книге, необходимо
... его сначала создать. Я к тому, что нет там макроса, просто кнопка и всё :)
Изменено: Михаил Лебедев - 10.07.2020 11:05:28
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Цитата
Михаил Лебедев написал: ...или выложили неудачный пример?
Да пример не правильный, исправил (убрал слэш, формат файла)
нужно чтобы проверка проходила по столбцу В а не по столбцу А, так как нумерацию хочу оставить на постоянной основе
 
Цитата
Дмитрий Иванов написал:
Да пример не правильный
И зачем этот неправильный оставлять? Ведь можно было просто ЗАМЕНИТЬ.
 
Не особо умею пользоваться форумом, исправил
 
В коде должно быть
Код
If Range("B16") = "Н" Then

и при определении первой пустой ячейки у вас получается  FreeRow=503.
Думаю, что вам не это надо. Почитайте про умные таблицы
https://www.thespreadsheetguru.com/blog/2014/6/20/the-vba-guide-to-listobject-excel-tables
 
Смотрите, что получилось, в файле.

Цитата
Kuzmich написал:
...Почитайте про умные таблицы...
Солидарен. При их использовании можно искать последнюю строку в Умной таблице (код будет, конечно, другим, но оно того стоит)  тогда ниже таблицы может быть в столбце В) что-то еще, и ошибки с определением нужной строки не будет.
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
Страницы: 1
Наверх