VBA. Нужно ввести данные с помощью формы, которая вызывается ** листе1, в таблицу **...

0 голосов
23 просмотров

VBA. Нужно ввести данные с помощью формы, которая вызывается на листе1, в таблицу на другой лист (лист2).
Проблема возникла при попытки определить последнюю заполненную ячейку на листе2. У меня получилось определить на активном листе. Нужна помощь. Вот код:


image

Информатика (15 баллов) | 23 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Если форму разметить на лист1, а базу на  лист2, то макрос:

Sub vvod()

Sheets("База").Select

Sheets("База").Activate

With ActiveSheet

    КонецСписок = .Range("B65536").End(xlUp).Row 'определяем № последней заполненой строки по столбцу B

   

    .Cells(КонецСписок + 1, 1) = КонецСписок ' пишем в базу № записи

    Sheets("Форма").Cells(4, 1) = КонецСписок ' пишем в форму № записи

    .Cells(КонецСписок + 1, 2) = Sheets("Форма").Cells(4, 2) ' пишем в базу наименование

    .Cells(КонецСписок + 1, 3) = Sheets("Форма").Cells(4, 3) ' пишем в базу количество

    .Cells(КонецСписок + 1, 4) = Sheets("Форма").Cells(4, 4) ' пишем в базу цену

   

End With

Sheets("Форма").Select 'возврат в форму

Sheets("Форма").Activate

End Sub


Скачать вложение Excel (XLS)
(18.0k баллов)
0

не совсем то..

0

Ваш код определяет номер первой пустой ячейки, мой – самой старшей, игнорируя пропуски.

0

Данные должны вводиться с ФОРМЫ (всплывающее окно с кнопками), а не в таблицу на листе EXCEL