Я пытаюсь написать цикл double для цикла, чтобы извлечь какой-либо вывод из одного файла excel в другой файл.VBA Double For Loop
У меня есть несколько наборов данных, каждый из которых имеет несколько анализов, из которых я хочу извлечь информацию. Например, Dataset1 имеет анализ 1 и 2, набор данных 2 имеет анализ 5 и 6, Dataset3 имеет анализ 9 и 10 и т. Д.
Для каждого из этих анализов я хочу вызвать Extract1, макрос, который делает фактическую работу. Поскольку код довольно длинный, Extract1 вызывает Extract2, который продолжает код в Extract 1.
Я пробовал отлаживать это с помощью MsgBox. Когда я запускаю этот код, цикл входит в Dataset2 и Dataset3. Но для Dataset 2 и 3 он не входит в цикл Analysis. Кто-нибудь знает, в чем проблема?
Option Explicit
Public Master As Workbook
Public Source As Workbook
Public IB As String
Public IB2 As String
Public IB3 As String
Public IB4 As String
Public Dataset As Double
Public Analysis As Double
Public Mean_Diff As Double
Public Interaction As Double
Sub looper()
For Dataset = 1 To 3
For Analysis = ((Dataset - 1) * 4 + 1) To (Dataset * 2)
Extract1
Next Analysis
Next Dataset
End Sub
'((Dataset - 1) * 4 + 1) (Dataset * 2), имеющий 1' 'находится от 1 до 2' в 2' 5 до 4' и в 3 '9 до 6' .. математика убивает вас здесь;) –
Ah. Понял! Спасибо. – arthurlgh90
В связанном вопросе можно ли сделать цикл Excel через список, который не следует шаблону, но был предварительно определен (например, анализы 4, 9, 24, 30 и т. Д.)? – arthurlgh90