У меня есть некоторые подпрограммы с кодом, которые по существу воссоздают данную таблицу шаблонов и изменяют системный номер и номер элемента на основе ввода, введенного пользователем. Я написал код только для первой введенной системы и номера позиции, но мне нужно, чтобы он повторил цикл для последующих системных номеров и номеров позиций и сохранил их сразу под данными из предыдущего цикла и так далее.
Sub FirstSub()
'copy paste static columns (description, notes, duration)
wsOutput.Range("D4:D48").Value = wsTemplate.Range("F4:F48").Value 'description
wsOutput.Range("E4:E48").Value = wsTemplate.Range("G4:G48").Value
'notes
Call NextSub
End Sub
Sub NextSub()
Sub NextSub()
Dim item as Integer
Dim itemName as string
Dim i as Integer
Dim k as Integer
i = 4
*'this retrieves the item # from wsInput and combines it with the prefix*
itemName = "item-" & wsInput.Cells(i, 3).Value
wsOutput.Range("A4:A48").Value = itemName
wsOutput.Range("L4:L48").Value = system
*'this retrieves the description from the template and combines it with the itemName and then repeats that process for all descriptions from cells 4-48 in wsTemplate *
k = 4
Set columnX = wsOutput.Range("C4:C48")
Do Until k = 48
For Each cell In columnX
description = wsTemplate.Cells(k, 2).Value
cell.Value = itemName & "-" & description
k = k + 1
If k = 49 Then Exit Do
Next cell
Loop
End Sub
В wsInput пользователь вводит список элементов (элемент 1, элемент 2, элемент 3 и т. Д.) С соответствующими системами (система 1, система 2, система 3 и т. Д.). Затем макрос использует это для создания новой электронной таблицы, которая называется wsOutput. Параметр wsOutput основан на wsTemplate, но столбцы переставлены, а номер элемента и номер системы зависят от ввода пользователя.
Макрос в настоящее время работает только для элемента 1 и системы 1. Но мне нужно, чтобы он работал для всех введенных элементов и систем. В таблице шаблонов имеется 44 строки данных (строки 1-4 - заголовки), и их необходимо повторять для каждого последующего элемента / системы, введенного пользователем.