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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2012, 06:29   #1
Alex20010
 
Регистрация: 26.07.2010
Сообщений: 3
По умолчанию Создание новых дат и копирование строк

Добрый день Уважаемае программисты,
Помогите пожалуйста создать VBA код. Есть таблица с данными: "Дата поставок", "Наименование продукта", "адрес компании доставки". Предполагается составить отчет о прогнозе поставок на 10 лет с периодичностью 1 год. как написать код, чтобы сгенерировать новые даты на 10-летний период каждого продукта и данные с "Наименование продукта", "адрес компании доставки" скопировались в строку новой даты соотвествено.Посмотрите пожалуйста исходную таблицу в приложении
Вложения
Тип файла: zip Book1.zip (6.0 Кб, 10 просмотров)
Alex20010 вне форума Ответить с цитированием
Старый 09.06.2012, 08:23   #2
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
как написать код, чтобы сгенерировать новые даты на 10-летний период каждого продукта и данные с "Наименование продукта", "адрес компании доставки" скопировались в строку новой даты соотвествено.
очень сильно интересует вопрос - каким образом вы хотите эти даты генерировать? с какой периодичностью? ваш пример никак не проясняет данной ситуации)
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 13.06.2012, 10:48   #3
Alex20010
 
Регистрация: 26.07.2010
Сообщений: 3
По умолчанию Создание новых дат и копирование строк

Спасибо, что ответили. Я в принципе уже почти сделал этот код, хотелось бы оптимизировать его. Посмотрите на код:

Private Sub CommandButton1_Click()
Dim stDate As Date
Dim endDate As Date
Dim curDate As Date
Dim insRow As Long
Dim i As Long
Dim YearStep As Long

insRow = 1
i = 1

endDate = Int(Sheet1.Cells(1, 10).Value2)

While Sheet1.Cells(i, 2).Value2 <> ""

stDate = Int(Sheet1.Cells(i, 2).Value2)
curDate = stDate
YearStep = Int(Sheet1.Cells(i, 6).Value2)

While (Int(curDate) <= Int(endDate))

Sheet1.Cells(insRow, 3).Value = curDate
Sheet1.Cells(insRow, 3).NumberFormat = "DD/MM/YYYY"
Sheet1.Cells(insRow, 4) = Sheet1.Cells(i, 7)
Sheet1.Cells(insRow, 5) = Sheet1.Cells(i, 8)

curDate = DateAdd("yyyy", YearStep, curDate)
insRow = insRow + 1

Wend

i = i + 1
Wend
MsgBox ("Это все")

End Sub

По этому коду генерируются новые даты, согласно заданой частоте и копируются колонки "Наименование" и "Место" к соответствующей дате
Вопрос, как скопировать все колонки диапазоном, в случае, когда их будет больше
Вложения
Тип файла: zip Book1.zip (26.0 Кб, 9 просмотров)
Alex20010 вне форума Ответить с цитированием
Старый 14.06.2012, 03:08   #4
Alex20010
 
Регистрация: 26.07.2010
Сообщений: 3
По умолчанию Создание дат и копирование строк

Ребята, создал все-таки код, спасибо за ваш форум, за то что вы есть и особенно рекомендациям sasha_prof. Нашел нужный фрагмент из другого отдела. Буду рад всем комментариям, если есть еще как-нибудь минимизировать.
Вложения
Тип файла: zip Book1.zip (26.0 Кб, 12 просмотров)
Alex20010 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление новых строк на 2 листах по условиям Uralmaster Microsoft Office Excel 8 27.02.2011 07:16
добавление новых строк в динамическую матрицу. ensoleille Помощь студентам 6 17.01.2011 18:44
Чтение новых строк из файла Delphinchik PHP 5 27.11.2010 22:49
Доработка добавления новых строк Sniper1 Microsoft Office Excel 1 06.04.2010 14:07
Qt. QSqlTableModel. Добавление новых строк. HIC Qt и кроссплатформенное программирование С/С++ 0 07.07.2009 16:31