Я новичок в программировании, и я подумал, что VBA - это хорошее место для начала, так как я много работаю в Excel.
Я создал макрос, который получает целое число от вводаbox (я использовал 2, 3 и 4 для тестирования), и он создает набор 4-уровневой иерархии этого числа;например, если ввести «2», то получится
1.0.0.0
1.0.0.1
1.0.0.2
1.0.1.0
1.0.1.1
1.0.1.2 etc.
Я заставил макрос работать так, как задумано, но для его запуска требуется вечность.Я думаю, что смещения внутри циклов замедляют его.У кого-нибудь есть предложения, чтобы ускорить это?Любые общие отзывы также приветствуются.
Sub Tiers()
'Input Box
Dim Square As Integer
Square = InputBox("Enter Number of Tiers")
Range("f5").Select
Selection.Value = 0
With Application
.ScreenUpdating = False
End With
'Rows down
Dim g As Integer
Dim h As Integer
Dim i As Integer
Dim j As Integer
'Start For loops
For g = 1 To Square
For h = 0 To Square
For i = 0 To Square
For j = 0 To Square
'calculate offsets and place values of loop variables
Dim step As Long
step = ((g - 1) * (Square + 1) ^ 3 - 1 + (h * (Square + 1) ^ 2) + Square * i + i + j + 1)
Selection.Offset(step, 0).Value = j
Selection.Offset(step, -1).Value = i
Selection.Offset(step, -2).Value = h
Selection.Offset(step, -3).Value = g
Next j
Next i
Next h
Next g
With Application
.ScreenUpdating = True
End With
End Sub
Спасибо