Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.10.2017, 17:14   #1
Марина11
Пользователь
 
Регистрация: 26.09.2017
Сообщений: 11
По умолчанию Запись данных с помощью макроса VBA в Excel

Здравствуйте! Необходима помощь по такому вот вопросу.Есть форма отчетности по обращениям потребителей на листе. с помощью кнопки "Сохранить" необходимо организовать запись данных с листа "Форма отчетности" на лист "БП". В приложении прописывала макрос, но он с ошибками.

Понимаю, что скорее всего путь решения таков: 1) выделить столбцы (или строки - как лучше ?) в массив; 2)Создать другой массив и сделать перебор данных с 1-го массива во 2-й; 3) Данные с листа "Форма отчетности"и перенести во второй массив;4) Сделать очистку и вставить данные с массива 2 на лист "БП". Не совсем понимаю как на практике сделать второй пункт - Создать другой массив и сделать перебор данных с 1-го массива во 2-й.

Как пример заполнила данными лист "БП", чтоб понимать, как это должно выглядеть.

Заранее спасибо за любые подсказки и примеры.
Вложения
Тип файла: xls Forma internet.xls (80.0 Кб, 16 просмотров)

Последний раз редактировалось Марина11; 03.10.2017 в 17:41.
Марина11 вне форума Ответить с цитированием
Старый 03.10.2017, 23:17   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

подсказка/пример
Код:
Sub SaveMeAnotherWay()
    Dim shBP As Worksheet, shFO As Worksheet
    Dim bpRows As Integer
    On Error Resume Next
    Set shBP = Sheets("БП")
    Set shFO = Sheets("Форма отчетности")
    bpRows = shBP.Cells(shBP.Rows.Count, 1).End(xlUp).Row + 1
    shFO.Range("E10:E30").Copy
    shBP.Cells(bpRows, 4).PasteSpecial Paste:=xlPasteValues
    shFO.Range("N10:P32").Copy
    shBP.Cells(bpRows, 5).PasteSpecial Paste:=xlPasteValues
    shFO.Range("R10:T32").Copy
    shBP.Cells(bpRows, 8).PasteSpecial Paste:=xlPasteValues
    shBP.Cells(bpRows + 21, 4) = "IT": shBP.Cells(bpRows + 22, 4) = "U"
    shBP.Cells(bpRows, 1).Resize(23, 1).Value = shFO.[i3].Value
    shBP.Cells(bpRows, 2).Resize(23, 1) = shFO.[i2]
    shBP.Cells(bpRows, 3).Resize(23, 1) = shFO.[i5]
    
    Set shBP = Nothing
    Set shFO = Nothing
End Sub
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 04.10.2017, 22:24   #3
Марина11
Пользователь
 
Регистрация: 26.09.2017
Сообщений: 11
По умолчанию

Спасибо большое, попробую использовать и напишу о результатах!
Марина11 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
cохранение удаленных данных с одного листа, на другом листе с помощью макроса assei Microsoft Office Excel 1 09.03.2017 23:46
Проблема с открытием другой книги с помощью макроса в excel 2013 roborrr Microsoft Office Excel 11 18.10.2013 10:41
VBA EXCEL защита макроса madace Фриланс 2 20.09.2012 15:44
Копирование таблиц из Excel в Word с помощью макроса Kostaen Microsoft Office Word 3 25.08.2009 05:00
Запись формул в ячейки с помощью VBA Lyubov1990 Microsoft Office Excel 6 13.05.2009 16:53