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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2019, 20:08   #11
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Sub сохранить_итоги()
  Dim T, I, r&, c&, N
  T = Array(Array("R12", "D19", "AI57", "AI58", "AI59", "AI32", "AI33", "AI34"), _
            Array("R12", "D19", "AI57", "AI58", "AI59", "AI39", "AI40"), _
            Array("R12", "D19", "AI57", "AI58", "AI59", "AI44", "AI45"))
  I = Array(Array("B", "C", "U", "V", "W", "J", "K", "L"), _
            Array("B", "C", "U", "V", "W", "M", "N"), _
            Array("B", "C", "U", "V", "W", "O", "P"))
  N = Worksheets("ТШ").Range("R12"): r = Val(Mid(N, Len(N) - 1, 1)) - 1
  Set N = Worksheets("Итоги").Cells(Rows.Count, 2).End(xlUp): N = N.Row + 1
  For c = 0 To UBound(T(r))
    Worksheets("Итоги").Range(I(r)(c) & N) = Worksheets("ТШ").Range(T(r)(c))
  Next
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 31.10.2019, 11:32   #12
mkm
Пользователь
 
Регистрация: 20.10.2019
Сообщений: 17
По умолчанию

Спасибо Вам огромное за оптимизацию моей задачи, это сверх моего понимания если честно, но ваш код работает как часы.
Решил немного развить предложенное решение и сразу наткнулся на полное отсутствие понимания как это работает.
Помогите разобраться и усложнить задачу (отличается от того примера ранее описанного). У меня есть разные условия, в разных ячейках D20:В24, которые определяют количество ячеек, которые необходимо перенести. Названия листов для работы как в примере.
Отсюда два вопроса, будет ли данный код работать под одной кнопкой если я его размножу (точное количество - 5). При этом каждый раз дополнительной командой с сортировкой я подчищаю значения ячеек D20:В24:

Код:
Range("D20:В24").ClearContents)


1.Вопрос по увеличению кода, будет ли он работать
2. вопрос
Если в условиях D20:В24 у меня будут в ячейках не три как в примере значения (п.4.3.1.; п.4.3.2.; п.4.3.3.), а два (D20, D20:В24 условие ПЧ или НЧ) или одно (D21 сработка только по условию НЗ). Как переписать правильно упразднить код
Алгоритм для D20:В24:
1. Ячейка D22
1.1. D22 значение – ПЧ
Ячейки для копирования листа “ТШ”
G4, "P4", "B10", "R13", "D22", "AI26", "AI28", "AI33", "AI36", "AI37", "AI50", "D52", "Y52", "AD52", "D53", "Y53", "AD53", "D54", "Y54", "AD54", "AI65", "AI68", "AI72"
Столбцы для вставки листа “Итоги”
C, "D", "B", "E", "H", "K", "L", "N", "P", "Q", "W", "X", "Y", "Z", "AA", "AB", "AC", "AD", "AE", "AF", "AR", "AU", "AY"
1.2. D22 значение – НЧ
Ячейки для копирования листа “ТШ”
G4, "P4", "B10", "R13", "D22", "AI26", "AI28", "AI33", "AI35", "AI50", "D52", "Y52", "AD52", "D53", "Y53", "AD53", "D54", "Y54", "AD54", "AI65", "AI68", "AI72"
Столбцы для вставки листа “Итоги”
C, "D", "B", "E", "H", "K", "L", "N", "O", "W", "X", "Y", "Z", "AA", "AB", "AC", "AD", "AE", "AF", "AR", "AU", "AY"

2. Ячейка D21
2.1. D21 значение – НЗ
Ячейки для копирования листа “ТШ”
G4, "P4", "B10", "R13", "D21", "AI26", "AI33", "AI36", "AI37", "AI40", "AI42", "AI67", "AI69", "AI72"
Столбцы для вставки листа “Итоги”
C, "D", "B", "E", "G", "K", "N", "P", "Q", "R", "S", "AT", "AV", "AY"

3. Ячейка D23
3.1. D23 значение – НЧ
Ячейки для копирования листа “ТШ”
G4, "P4", "B10", "R13", "D23", "AI26", "AI33", "AI36", "AI37", "AI50", "D52", "Y52", "AD52", "D53", "Y53", "AD53", "D54", "Y54", "AD54", "AI63", "AI65", "AI68", "AI72"
Столбцы для вставки листа “Итоги”
C, "D", "B", "E", "I", "K", "N", "P", "Q", "W", "X", "Y", "Z", "AA", "AB", "AC", "AD", "AE", "AF", "AQ", "AR", "AU", "AY"
3.2. D23 значение – ПЧ
Ячейки для копирования листа “ТШ”
G4, "P4", "B10", "R13", "D23", "AI26", "AI33", "AI35", "AI50", "D52", "Y52", "AD52", "D53", "Y53", "AD53", "D54", "Y54", "AD54", "AI63", "AI65", "AI68", "AI71"
Столбцы для вставки листа “Итоги”
C, "D", "B", "E", "I", "K", "N", "O", "W", "X", "Y", "Z", "AA", "AB", "AC", "AD", "AE", "AF", "AQ", "AR", "AU", "AX"

4. Ячейка D24
4.1. D24 значение – ПЧ
Ячейки для копирования листа “ТШ”
G4, "P4", "B10", "R13", "D24", "AI26", "AI33", "AI36", "AI37", "AI44", "AI45", "AI46", "AI50", "D52", "Y52", "AD52", "D53", "Y53", "AD53", "D54", "Y54", "AD54", "AI63", "AI65", "AI68", "AI72"
Столбцы для вставки листа “Итоги”
C, "D", "B", "E", "J", "K", "N", "P", "Q", "T", "U", "V", "W", "X", "Y", "Z", "AA", "AB", "AC", "AD", "AE", "AF", "AQ", "AR", "AU", "AY"
4.2. D24 значение – НЧ
Ячейки для копирования листа “ТШ”
G4, "P4", "B10", "R13", "D24", "AI26", "AI33", "AI35", "AI44", "AI45", "AI46", "AI50", "D52", "Y52", "AD52", "D53", "Y53", "AD53", "D54", "Y54", "AD54", "AI63", "AI65", "AI68", "AI71"
Столбцы для вставки листа “Итоги”
C, "D", "B", "E", "J", "K", "N", "O", "T", "U", "V", "W", "X", "Y", "Z", "AA", "AB", "AC", "AD", "AE", "AF", "AQ", "AR", "AU", "AX"

5. Ячейка D20
5.1. D20 значение – ПЧ
Ячейки для копирования листа “ТШ”
G4, "P4", "B10", "R13", "D20", "AI26", "AI28", "AI30", "AI33", "AI36", "AI37", "AI56", "D58", "Y58", "AD58", "D59", "Y59", "AD59", "D60", "Y60", "AD60", "AI66", "AI70", "AI74"
Столбцы для вставки листа “Итоги”
C, "D", "B", "E", "F", "K", "L", "M", "N", "P", "Q", "AG", "AH", "AI", "AJ", "AK", "AL", "AM", "AN", "AO", "AP", "AS", "AW", "BA"
5.2. D20 значение – НЧ
Ячейки для копирования листа “ТШ”
G4, "P4", "B10", "R13", "D20", "AI26", "AI28", "AI30", "AI33", "AI35", "AI56", "D58", "Y58", "AD58", "D59", "Y59", "AD59", "D60", "Y60", "AD60", "AI66", "AI70", "AI73"
Столбцы для вставки листа “Итоги”
C, "D", "B", "E", "F", "K", "L", "M", "N", "O", "AG", "AH", "AI", "AJ", "AK", "AL", "AM", "AN", "AO", "AP", "AS", "AW", "AZ"
Вложения
Тип файла: zip 01_Пример_03.zip (77.9 Кб, 8 просмотров)

Последний раз редактировалось mkm; 31.10.2019 в 15:02.
mkm вне форума Ответить с цитированием
Старый 02.11.2019, 23:13   #13
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

готово
Вложения
Тип файла: zip 01_Пример_03.zip (81.3 Кб, 9 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перебор всех значений связанного графа. Помогите разобраться в чём проблема... StarterX Общие вопросы C/C++ 0 11.01.2016 19:42
Помогите с переносом данных с листай на лист 2 birusinka Microsoft Office Excel 1 08.12.2014 16:12
Подставновка значений в ячейку из диапазона p2rpower Microsoft Office Excel 3 15.08.2012 10:12
? Помогите с переносом данных по условию Ural-666 Microsoft Office Excel 3 29.11.2007 22:54