Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
3 / 3 / 0
Регистрация: 28.03.2013
Сообщений: 15

Вставка нескольких строк над текущей строкой

28.03.2013, 10:09. Показов 2282. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую!
Вначале описание: имеется таблица:
номер_услуги услуга клиент этап и т.д.
1 услуга1 клиент1 этап8
2 услуга2 клиент2 этап8
2 услуга2 клиент2 этап9

каждая услуга должна проходить все этапы поочередно,но в таблице как правило указаны только последний и\или предпоследний этапы. Надо заполнить для каждой услуги все пройденные этапы:
1 услуга1 клиент1 этап1
1 услуга1 клиент1 этап2
1 услуга1 клиент1 этап3
1 услуга1 клиент1 этап4
1 услуга1 клиент1 этап5
1 услуга1 клиент1 этап6
1 услуга1 клиент1 этап7
1 услуга1 клиент1 этап8
2 услуга2 клиент2 этап1
2 услуга2 клиент2 этап2
2 услуга2 клиент2 этап3
2 услуга2 клиент2 этап4
2 услуга2 клиент2 этап5
2 услуга2 клиент2 этап6
2 услуга2 клиент2 этап7
2 услуга2 клиент2 этап8
2 услуга2 клиент2 этап9

Подскажите,пожалуйста, как наиболее просто это все реализовать
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.03.2013, 10:09
Ответы с готовыми решениями:

Запись переменных двух строк или работа над строкой
Доброго времени суток! У меня такой вопрос. Не могу довести до ума так, что бы первое слово в строке оказалось последним и так далее...

Вставка из файла нескольких строк
Я реализовал вставку по строкам из .txt файла Содержимое файла имеет следующий вид: 11111111111 22222222222 33333333333 ...

Вставка нескольких строк одним запросом
Подскажите, как нужно формировать запрос к бд, чтобы вставить много строк с помощью одного запроса? Нужно вставить такие данные: ...

5
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
28.03.2013, 11:51
А может быть услуга1-клиент2 или услуга2-клиент1? Что делать в этом случае - ориентироваться только по услуге, или для каждой уникальной комбинации услуга-клиент добавить этапы?

Приложите пример в XLS, приближенный к реальности (Расширенный режим - Управление вложениями).
1
3 / 3 / 0
Регистрация: 28.03.2013
Сообщений: 15
28.03.2013, 12:59  [ТС]
Цитата Сообщение от Казанский Посмотреть сообщение
А может быть услуга1-клиент2 или услуга2-клиент1? Что делать в этом случае - ориентироваться только по услуге, или для каждой уникальной комбинации услуга-клиент добавить этапы?

Приложите пример в XLS, приближенный к реальности (Расширенный режим - Управление вложениями).
Ориентироваться надо по номеру услуги, то есть для каждого НОМЕРА услуги должны быть пройдены все этапы(от 1 до 11 соотвественно)
Например, если есть этап9 и этап 10, то копируем и 8 раз вставляем выше строку с этапом 9 и устанавливаем в ячейках нужные значения "номера этапа" и "этапа"

Пример прилагаю.
Спасибо заранее.
Вложения
Тип файла: xlsx Книга.xlsx (13.0 Кб, 13 просмотров)
0
3 / 3 / 0
Регистрация: 28.03.2013
Сообщений: 15
28.03.2013, 14:33  [ТС]
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Думаю сделать такую структуру:
if a2!=a3 then
select case f2 'распределение строк по этапам
case f2=1 вырезаем строку №2 и копируем на новый лист в следующую строку сразу после последней существующей
case f2=2 вырезаем и дважды вставляем в строки после в конце
case f2=3 вырезаем и вставляем 3 строки на новом листе
case f2=4
case f2=5
case f2=6
---------
case f2=11
 
else 
if a2=a3 then 'во всех кейсах добавляется строка №3
select case f2 
case f2=1 вырезаем строку №2 и копируем на новый лист в следующую строку сразу после последней существующей
case f2=2 вырезаем и дважды вставляем в строки после в конце
case f2=3 вырезаем и вставляем 3 строки на новом листе
case f2=4
case f2=5
case f2=6
---------
case f2=11
 
elseif a2=a3=a4 'во всех кейсах добавляется строки №3и4
select case f2 
case f2=1 вырезаем строку №2 и копируем на новый лист в следующую строку сразу после последней существующей
case f2=2 вырезаем и дважды вставляем в строки после в конце
case f2=3 вырезаем и вставляем 3 строки на новом листе
case f2=4
case f2=5
case f2=6
---------
case f2=11
----------------------------------------------------------
elseif a2=a3=a4=a5=a6=a7=a8=a9=a10=a11=a12 'во всех кейсах добавляется строки №3,4,5,6,7,8,9,10,11
select case f2 
case f2=1 вырезаем строку №2 и копируем на новый лист в следующую строку сразу после последней существующей
case f2=2 вырезаем и дважды вставляем в строки после в конце
case f2=3 вырезаем и вставляем 3 строки на новом листе
case f2=4
case f2=5
case f2=6
---------
case f2=11
После вырезания и вставки на новый лист текущая таблица поднимается вверх на количество строк которые были вырезаны,соответственно, постепенно цикл проверит все строки и соберет новую таблицу на новом листе.

Основная загвоздка с вставкой строк в новую таблицу так в конец предыдущих строк.

Может кто более легкий вариант подскажет?
Спасибо.
0
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
28.03.2013, 15:48
Пробуйте. Чтобы понять, как работает, пройдите по шагам (F8).
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub bb()
Dim i&, n&
For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
    If Cells(i, "A") <> Cells(i - 1, "A") And Cells(i, "F") > 1 Then
        n = Cells(i, "F") - 1
        Rows(i).Copy
        Rows(i).Resize(n).Insert
        With Cells(i, "F").Resize(, 2)
            .Formula = Array(1, "Этап1")
            .AutoFill .Resize(n)
        End With
    End If
Next
Application.CutCopyMode = False
End Sub
1
3 / 3 / 0
Регистрация: 28.03.2013
Сообщений: 15
28.03.2013, 16:08  [ТС]
Большое спасибо. Буду разбираться
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.03.2013, 16:08
Помогаю со студенческими работами здесь

Вставка и удаление строк на нескольких листах
У меня такая ситуация: на листе2 таблица связана с таблицей листа1. На листе3 - не связанная с другими листами информация. Нужны два...

Вставка нескольких строк в файл без потери данных файла
Доброго времени суток! Имеется файл text.txt с каким либо содержимым и с большим количеством строк. Требуется вставить в файл после строчки...

Чтение нескольких строк из файла, выполнение над ними операций и обратная запись в файл
В файле есть несколько строк, например: 1) 2+3; 2) 4/2; 3) 5*6. Программа должна считать эти строки из файла и посчитать эти значения....

Работа с текущей строкой
Добрый вечер! Ситуация такая. есть форма, в которой Поле Степень принимает два значения - Кандидат и Доктор. В зависимости от выбранной...

Вставка текущей даты
Добрый день. Хотела бы уточнить, может у кого-нить есть макрос,который позволяет вставлять текущую дату с учетом ширины столбца (автободпор...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru