Я настраиваю цикл для расчета количества слоев бумаги в рулоне, когда вам дается только линейный материал и толщина бумаги. Цикл представляет сумму серии и останавливается только тогда, когда сумма равна линейному материалу. Он считывает переменные с листа и записывает результат в другую ячейку на листе. Я считаю, что у меня правильно настроен цикл, и я все правильно объявил. Я пытался запустить свой код, но он дает мне
Ошибка компиляции: требуется объект "и выделяется" Sub NumLayers ()
в отладчике. Я не знаю, какой объект или декларация мне не хватает.
Это для версии Excel 2007 года. Я проверил свой синтаксис и ищу недостающие заголовки или объявления в Google, но не могу найти никаких лидов
Sub NumLayers()
Dim Layer As Integer
Dim radius As Double
Dim Footage As Integer
Dim Thick As Double
Dim FootSum As Double
'Declared my variables
Dim ws As Excel.Worksheet
Set ws = ActiveWorkbook.Sheets("Equation")
'initiated and set the worksheet object
Set Thick = ws.Range("D35").Value
Set radius = ws.Range("D27").Value
Set Footage = ws.Range("C16").Value
'Set variable values to values from cells in worksheet
Set Layer = 1
'Set counter variable at 1
Set FootSum = 2 * 3.14159265 * radius
'Set initial value before loop
Do Until FootSum >= Footage
FootSum = FootSum + (2 * 3.14159265 * (radius + (Counter * Thick)))
Layer = Layer + 1
Loop
ws.Range("D37").Value = Layer
'Write total amount of layers needed to achieve linear footage, to a cell
End Sub
Я ожидаю, что цикл запустится и выдаст мне число итераций, необходимое для вычисления, равного или превышающего заданный линейный материал в виде целого числа.