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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2015, 19:29   #1
Виктор.А
 
Регистрация: 02.10.2015
Сообщений: 3
По умолчанию Перенести на другой лист только строки с заполненным количеством

Добрый день!
Прошу помощи, так, как excel знаю только поверхностно.

Нужна помощь в создании документа (спецификации) с автоматическим переносом строк из Калькулятора в Приложение №1 по условию заполнения в строке значения суммы. При этом нужно учитывать, что количество строк в Калькуляторе со временем могут увеличится. Перенос должен происходить автоматически при введении значения СУММА.
Перерыл "ВЕСЬ" Интернет, всё не то...
Буду очень признателен за помощь.
Вложения
Тип файла: xlsx перенести строки.xlsx (31.3 Кб, 15 просмотров)
Тип файла: xlsx перенести строки заполнен.xlsx (31.7 Кб, 14 просмотров)

Последний раз редактировалось Виктор.А; 02.10.2015 в 19:57.
Виктор.А вне форума Ответить с цитированием
Старый 02.10.2015, 21:08   #2
AleksandrH
Форумчанин
 
Аватар для AleksandrH
 
Регистрация: 15.02.2010
Сообщений: 148
По умолчанию

"Прилодение №1 (2)" замени на "Прилодение №1" и повесь код на страницу Калькулятор

Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim LastRow As Integer, i As Integer, r As Integer
    LastRow = ActiveSheet.Cells(ActiveSheet.rows.Count, "A").End(xlUp).Row
    If Not Application.Intersect(Range("C:C"), Range(Target.Address)) _
           Is Nothing Then
           Sheets("Прилодение №1 (2)").Range("A16:V36").ClearContents
           r = 0
           For i = 2 To LastRow
                If ActiveSheet.Cells(i, 3).Value > 0 Then
                    Sheets("Прилодение №1 (2)").Cells(16 + r, 1) = r + 1
                    Sheets("Прилодение №1 (2)").Cells(16 + r, 2).Value = ActiveSheet.Cells(i, 1).Value 'indeks
                    
                    Sheets("Прилодение №1 (2)").Cells(16 + r, 17).Value = CInt(ActiveSheet.Cells(i, 2).Value) 'price
                    
                    Sheets("Прилодение №1 (2)").Cells(16 + r, 20).Value = ActiveSheet.Cells(i, 3).Value ' ilosc
                    Sheets("Прилодение №1 (2)").Cells(16 + r, 21).FormulaR1C1 = "=Rc[-1]*rc[-4]"
                    r = r + 1
                End If
           Next
    End If
End Sub
WIX-FILTERS. A Filter for every application.

Последний раз редактировалось AleksandrH; 02.10.2015 в 21:11.
AleksandrH вне форума Ответить с цитированием
Старый 02.10.2015, 22:39   #3
Виктор.А
 
Регистрация: 02.10.2015
Сообщений: 3
По умолчанию

AleksandrH, Огромное спасибо, что помогли!
Класс, работает
Подскажите пожалуйста как это работает, то есть в общих чертах.
Допустим если я создам "Калькулятор №2" к примеру, что надо будет сделать для того, чтобы из него в то же Приложение копировались строки.
Виктор.А вне форума Ответить с цитированием
Старый 02.10.2015, 22:48   #4
AleksandrH
Форумчанин
 
Аватар для AleksandrH
 
Регистрация: 15.02.2010
Сообщений: 148
По умолчанию

если структура калькулятора 2 будет как и первого калькулятора, то только код перести. в общих чертах, если в столбце с листа калькулятор были изменения, то очистить поля вывода на листе приложение; перебрать все строки на калькуляторе, если в столбце С число больше 0, то передать эту запись на лист приложение
WIX-FILTERS. A Filter for every application.
AleksandrH вне форума Ответить с цитированием
Старый 02.10.2015, 23:02   #5
Виктор.А
 
Регистрация: 02.10.2015
Сообщений: 3
По умолчанию

Спасибо, буду пробовать.
Виктор.А вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выборка в диапазоне значения по заданному промежутку и перенести на другой лист excel vba ac1-caesar Microsoft Office Excel 29 29.10.2014 12:46
перенос строки на другой лист по условию TimoXEi Microsoft Office Excel 12 24.01.2013 16:21
Копирование строки на другой лист dsadik91 Microsoft Office Excel 5 03.06.2012 12:52
Перенос строки в другой лист _Fish_ Microsoft Office Excel 5 29.02.2012 10:52
Копирование строки на другой лист ! Maksiart Microsoft Office Excel 5 21.11.2011 23:47