У меня есть код VBA, который подключен к UserFormНе повторять VBA код
код ищет заголовки столбцов и заполняет в колонках с этими заголовками, принимая значения из UserForm
Мой вопрос : Как я могу избежать повторения кода?
Dim intBB As Integer
Dim rngBB As Range
intBB = 1
Do While ActiveWorkbook.Worksheets("Sheet1").Cells(1, intBB) <> ""
If ActiveWorkbook.Worksheets("Sheet1").Cells(1, intBB).Value = "Block" Then
With ActiveWorkbook.Worksheets("Sheet1")
Set rngBB = .Range(.Cells(1, intBB), .Cells(1, intBB))
End With
Exit Do
End If
intBB = intBB + 1
Loop
ActiveWorkbook.Worksheets("Sheet1").Range(Cells(2, intBB), Cells(LastRow, intBB)).Value = BlockBox.Value
intBB = 1
Do While ActiveWorkbook.Worksheets("Sheet1").Cells(1, intBB) <> ""
If ActiveWorkbook.Worksheets("Sheet1").Cells(1, intBB).Value = "HPL" Then
With ActiveWorkbook.Worksheets("Sheet1")
Set rngBB = .Range(.Cells(1, intBB), .Cells(1, intBB))
End With
Exit Do
End If
intBB = intBB + 1
Loop
ActiveWorkbook.Worksheets("Sheet1").Range(Cells(2, intBB), Cells(LastRow, intBB)).Value = HPLBox.Value
Хорошо для отнесения управления в массиве и читать их оттуда! :) Я был слишком ленив, чтобы сделать это :) – Vityata
@Vityata - спасибо, я знаю это чувство! Если элементы управления являются всего лишь поисковым термином + «Коробка», тогда он может обойтись без второго массива, но не хотел предполагать. – SJR