Форум по VBA и MS Office

VBA, Excel => VBA, макросы в Excel => Тема начата: KsuKsuKsunia от 17 мая 2014, 14:39

Название: 1. Обмен данными с рабочей книгой MS Excel. 2. Проектирование форм окон / VBA
Отправлено: KsuKsuKsunia от 17 мая 2014, 14:39
1. Для восьми хозяйств известны общий объем валовой продукции (ден.ед) и площадь сельскохозяйственной продукции (га.). Определите Средний выход валовой продукции на 100 га сельхосугодий для каждого хозяйства и по всей группе хозяйств в целом.
2. Составьте программу которая вводит пароль и проверяет его. В случае верного ответа выведете сообщение "начинаем роботу!". В противном "доступ закрыт"
Название: Re: 1. Обмен данными с рабочей книгой MS Excel.
Отправлено: Администратор от 17 мая 2014, 15:36
Задание 1.

Сформируйте Excel-таблицу для задания и выложите эту таблицу на Форуме. Затем я попробую сделать макрос для этой таблицы. Я начала делать таблицу, но не знаю, как её сделать.

Примечание

Синий прямоугольник вверху листа - это будущая кнопка для запуска макроса.

[вложение удалено администратором]
Название: Re: 2. Проектирование форм окон / VBA
Отправлено: Администратор от 17 мая 2014, 16:05
Задание 2.

Чтобы в поле (на форме есть поле) вместо символов были "*", нужно изменить свойство "PasswordChar".

[вложение удалено администратором]
Название: Re: 1. Обмен данными с рабочей книгой MS Excel. 2. Проектирование форм окон / VBA
Отправлено: KsuKsuKsunia от 22 мая 2014, 16:03
вот как должно все выглядеть. И я  так понимаю значения нужно потом в макросе вводить по коду.

[вложение удалено администратором]
Название: Re: 1. Обмен данными с рабочей книгой MS Excel.
Отправлено: KsuKsuKsunia от 22 мая 2014, 21:37
Как отредактировать этот код? В нём ошибка.

Sub Среднее()
Dim Объем(8) As Single, Площадь(8) As Single, Среднее(8) As Single
For i = 1 To 8
Объем(i) = InputBox("Введите Объем" & i & "-ого хозяйства:")
Площадь(i) = InputBox(" Введите Площадь" & i & "-ого хозяйства:")
Среднее(i) = (Объем(i) / Площадь(i)) * 100
Next i
Range("A1") = "Объем"
Range("B2") = "Площадь"
Range("C3") = "Среднее"
For i = 1 To 8
Cells(i + 1, 1) = Объем(i)
Cells(i + 1, 2) = Площадь(i)
Next i
Range("C8") = "Среднее"
End Sub

[вложение удалено администратором]
Название: Re: 1. Обмен данными с рабочей книгой MS Excel.
Отправлено: Администратор от 22 мая 2014, 21:50
KsuKsuKsunia, какая ошибка?
Название: Re: 1. Обмен данными с рабочей книгой MS Excel.
Отправлено: KsuKsuKsunia от 22 мая 2014, 22:27
Точней не ошибка, а ввожу все даные двох стоббцов, оно заполняет таблицу но не считает среднее значение.
Название: Re: 1. Обмен данными с рабочей книгой MS Excel.
Отправлено: KsuKsuKsunia от 22 мая 2014, 22:31
Перед последней строкой end sub должно что-то другое быть. Вот проверте. Я все кинула.
И еще не могу сохранить макрос, пишет - нужно зайти в список "тип файла" и выбирите тип файла с поддержкой макроса.
Название: Re: 1. Обмен данными с рабочей книгой MS Excel.
Отправлено: Администратор от 22 мая 2014, 22:36
KsuKsuKsunia, чтобы добавить макрос в Excel-файл, нужно использовать такие форматы Excel-файлов:
Название: Re: 1. Обмен данными с рабочей книгой MS Excel.
Отправлено: Администратор от 22 мая 2014, 22:43
KsuKsuKsunia, я не могу проверить правильность Вашего кода, т.к. не понимаю задачу.
Если Вы объясните задачу, а именно, составите Excel-таблицу, как всё должно быть, тогда смогу проверить.
Название: Re: 1. Обмен данными с рабочей книгой MS Excel.
Отправлено: KsuKsuKsunia от 22 мая 2014, 22:46
Нежно ввести в 2 столбца через формы один- объем, второй - площадь. в третемдолжнобыть вычислено по формуле первая ячейка поделить на вторую и умножить на 100.
Название: Re: 1. Обмен данными с рабочей книгой MS Excel.
Отправлено: KsuKsuKsunia от 22 мая 2014, 22:49
Вот как таблица идет.

[вложение удалено администратором]
Название: Re: 1. Обмен данными с рабочей книгой MS Excel.
Отправлено: Администратор от 22 мая 2014, 22:55
Я для тестирования макроса оставил пока две строки с данными, чтобы восемь раз не делать.
Посмотрите, какая сейчас ошибка в макросе. Макрос можете запускать кнопкой, которая находится на листе.

[вложение удалено администратором]
Название: Re: 1. Обмен данными с рабочей книгой MS Excel.
Отправлено: KsuKsuKsunia от 22 мая 2014, 22:59
Все прекрасно, только как избавиться от слова средее с ячейке С8 и что б прога работала?
Название: Re: 1. Обмен данными с рабочей книгой MS Excel.
Отправлено: KsuKsuKsunia от 22 мая 2014, 23:01
Всё, работает. Спасибо.
Название: Re: 1. Обмен данными с рабочей книгой MS Excel.
Отправлено: Администратор от 22 мая 2014, 23:02
KsuKsuKsunia, у Вас остались вопросы? Просто я не понял, решена Ваша задача или нет.
Название: Re: 1. Обмен данными с рабочей книгой MS Excel.
Отправлено: KsuKsuKsunia от 22 мая 2014, 23:04
Задача решена. Вопросов нет. Вам Респект и уважуха.
Буду советовать ваш форум своим одногруппникам. У них тоже такие подобные задачи.