У меня есть несколько ячеек («позиций»), которые требуют определенных цветов и значений интерьера. Каждая из этих ячеек связана с собственной соответствующей ячейкой на другом рабочем листе.
На данный момент у меня есть около 35 таких позиций, но в будущем у меня может быть 150, поэтому добавление их вручную будет утомительным! Вот код, который у меня есть на данный момент:
Dim FirstSheet As Worksheet
Dim Secondsheet As Worksheet
Dim position1 As Range
Dim position2 As Range
Dim position3 As Range
Dim lnCol As Long
Set FirstSheet As ThisWorkbook.Worksheets("FirstSheet")
Set SecondSheet As ThisWorkbook.Worksheets("SecondSheet")
Set position1 = Firstsheet.Range("G11")
Set position2 = Firstsheet.Range("F11")
Set Position3 = Firstsheet.Range("E11")
lnCol = 'this is a column number which is found earlier in the sub.
position1.Interior.Color = SecondSheet.Cells(8, lnCol).Interior.Color
position2.Interior.Color = SecondSheet.Cells(9, lnCol).Interior.Color
position3.Interior.Color = SecondSheet.Cells(10, lnCol).Interior.Color
position1.Offset(2, 0).Value = SecondSheet.Cells(8, lnCol).Value
position2.Offset(2, 0).Value = SecondSheet.Cells(9, lnCol).Value
position3.Offset(2, 0).Value = SecondSheet.Cells(10, lnCol).Value
В идеале, я бы хотел цикл, который бы использовал два массива, которые меняются одновременно, но я понятия не имею, как заставить его работать! Это пример того, что я хотел бы видеть:
For Each PositionVar In Array(position1, position2, position3)
PositionVar.Interior.Color = dynamicvariable.Interior.Color
PositionVar.Offset(2,0).Value = dynamicvariable.Value
Next PositionVar
Любая помощь будет принята с благодарностью!