Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Цикл копирования с транспонированием двух таблиц - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Цикл копирования с транспонированием двух таблиц (Макросы/Sub)
Цикл копирования с транспонированием двух таблиц
Tarassov_Egor Дата: Пятница, 23.07.2021, 13:45 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 20% ±

Добрый день!
Прошу помочь с макросом
Необходимо скопировать данные с листа на другой лист, как показано в примере.
С использованием цикла. Недавно начал осваивать VBA, пока зелен в этом.
Т.е. с листа данные взять поставщиков (подписаны как А,Б,В и тд.),
вставить на лист "Что получится" так, чтобы на каждую дату были скопированы,
% по поставщикам, и "итого по рынку" (в примере сделал как должно быть в итоге)
Во вложении все необходимые данные, и пример того что должно получится.
Заранее спасибо!
К сообщению приложен файл: 8189547.xlsx(12.7 Kb)
 
Ответить
СообщениеДобрый день!
Прошу помочь с макросом
Необходимо скопировать данные с листа на другой лист, как показано в примере.
С использованием цикла. Недавно начал осваивать VBA, пока зелен в этом.
Т.е. с листа данные взять поставщиков (подписаны как А,Б,В и тд.),
вставить на лист "Что получится" так, чтобы на каждую дату были скопированы,
% по поставщикам, и "итого по рынку" (в примере сделал как должно быть в итоге)
Во вложении все необходимые данные, и пример того что должно получится.
Заранее спасибо!

Автор - Tarassov_Egor
Дата добавления - 23.07.2021 в 13:45
Erjoma1981 Дата: Пятница, 23.07.2021, 15:33 | Сообщение № 2
Группа: Проверенные
Ранг: Участник
Сообщений: 53
Репутация: 20 ±
Замечаний: 0% ±

Excel 2010, 2019
Здравствуйте.

[vba]
Код

Public Sub СкопироватьДанные()
  Dim НомерКопируемойСтроки As Integer
  
  For НомерКопируемойСтроки = 0 To 13
    Sheets("Данные").Range("A" & CStr(4 + НомерКопируемойСтроки)).Copy Sheets("Макрос").Range("A" & CStr(2 + 15 * НомерКопируемойСтроки) & ":A" & CStr(16 + 15 * НомерКопируемойСтроки))
    Sheets("Макрос").Range("B" & CStr(2 + 15 * НомерКопируемойСтроки) & ":B" & CStr(7 + 15 * НомерКопируемойСтроки)) = Application.WorksheetFunction.Transpose(Sheets("Данные").Range("C2:H2"))
    Sheets("Макрос").Range("B" & CStr(8 + 15 * НомерКопируемойСтроки) & ":B" & CStr(16 + 15 * НомерКопируемойСтроки)) = Application.WorksheetFunction.Transpose(Sheets("Данные").Range("N2:V2"))
    Sheets("Данные").Range("B" & CStr(4 + НомерКопируемойСтроки)).Copy Sheets("Макрос").Range("C" & CStr(2 + 15 * НомерКопируемойСтроки) & ":C" & CStr(16 + 15 * НомерКопируемойСтроки))
    Sheets("Макрос").Range("D" & CStr(2 + 15 * НомерКопируемойСтроки) & ":D" & CStr(7 + 15 * НомерКопируемойСтроки)) = Application.WorksheetFunction.Transpose(Sheets("Данные").Range("C" & CStr(4 + НомерКопируемойСтроки) & ":H" & CStr(4 + НомерКопируемойСтроки)))
    Sheets("Макрос").Range("D" & CStr(8 + 15 * НомерКопируемойСтроки) & ":D" & CStr(16 + 15 * НомерКопируемойСтроки)) = Application.WorksheetFunction.Transpose(Sheets("Данные").Range("N" & CStr(4 + НомерКопируемойСтроки) & ":V" & CStr(4 + НомерКопируемойСтроки)))
  Next НомерКопируемойСтроки

  
End Sub
[/vba]
К сообщению приложен файл: 8189547_1.xlsm(25.9 Kb)


Сообщение отредактировал Erjoma2335 - Пятница, 23.07.2021, 15:42
 
Ответить
СообщениеЗдравствуйте.

[vba]
Код

Public Sub СкопироватьДанные()
  Dim НомерКопируемойСтроки As Integer
  
  For НомерКопируемойСтроки = 0 To 13
    Sheets("Данные").Range("A" & CStr(4 + НомерКопируемойСтроки)).Copy Sheets("Макрос").Range("A" & CStr(2 + 15 * НомерКопируемойСтроки) & ":A" & CStr(16 + 15 * НомерКопируемойСтроки))
    Sheets("Макрос").Range("B" & CStr(2 + 15 * НомерКопируемойСтроки) & ":B" & CStr(7 + 15 * НомерКопируемойСтроки)) = Application.WorksheetFunction.Transpose(Sheets("Данные").Range("C2:H2"))
    Sheets("Макрос").Range("B" & CStr(8 + 15 * НомерКопируемойСтроки) & ":B" & CStr(16 + 15 * НомерКопируемойСтроки)) = Application.WorksheetFunction.Transpose(Sheets("Данные").Range("N2:V2"))
    Sheets("Данные").Range("B" & CStr(4 + НомерКопируемойСтроки)).Copy Sheets("Макрос").Range("C" & CStr(2 + 15 * НомерКопируемойСтроки) & ":C" & CStr(16 + 15 * НомерКопируемойСтроки))
    Sheets("Макрос").Range("D" & CStr(2 + 15 * НомерКопируемойСтроки) & ":D" & CStr(7 + 15 * НомерКопируемойСтроки)) = Application.WorksheetFunction.Transpose(Sheets("Данные").Range("C" & CStr(4 + НомерКопируемойСтроки) & ":H" & CStr(4 + НомерКопируемойСтроки)))
    Sheets("Макрос").Range("D" & CStr(8 + 15 * НомерКопируемойСтроки) & ":D" & CStr(16 + 15 * НомерКопируемойСтроки)) = Application.WorksheetFunction.Transpose(Sheets("Данные").Range("N" & CStr(4 + НомерКопируемойСтроки) & ":V" & CStr(4 + НомерКопируемойСтроки)))
  Next НомерКопируемойСтроки

  
End Sub
[/vba]

Автор - Erjoma1981
Дата добавления - 23.07.2021 в 15:33
Tarassov_Egor Дата: Понедельник, 26.07.2021, 04:57 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 20% ±

Erjoma1981, спасибо, хорошо, я немного не точно описал задачу,
жедательно было бы сделать так:
Даты и итого по рынку транспонировать, а далее если поставщик А то доля такая то,
просто иногда бывает такое что не 13 строк к примеру, или вместо поставщика А появляется новый поставщик.
Если кто может помочь, буду премного благодарен.
 
Ответить
СообщениеErjoma1981, спасибо, хорошо, я немного не точно описал задачу,
жедательно было бы сделать так:
Даты и итого по рынку транспонировать, а далее если поставщик А то доля такая то,
просто иногда бывает такое что не 13 строк к примеру, или вместо поставщика А появляется новый поставщик.
Если кто может помочь, буду премного благодарен.

Автор - Tarassov_Egor
Дата добавления - 26.07.2021 в 04:57
Tarassov_Egor Дата: Понедельник, 26.07.2021, 07:59 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 20% ±

Всем спасибо, изучил циклы, самостоятельно написал что хотел
 
Ответить
СообщениеВсем спасибо, изучил циклы, самостоятельно написал что хотел

Автор - Tarassov_Egor
Дата добавления - 26.07.2021 в 07:59
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Цикл копирования с транспонированием двух таблиц (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования Jobsora jooble
© 2010-2021 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!