Я впервые работаю с VB. В основном я привык работать в matlab и обнаружил, что многое из того, что я считаю само собой разумеющимся в matlab, должно быть явно объявлено в VB. Срыв!
В частности, мне нужно объявить два размера массива s1 и s2. Как видно из приведенного ниже кода, s1 - это число элементов в наборе «n», где переменная «stratum» равна 1. s2 - это количество элементов в наборе «n», где переменная «stratum» равна 2. Довольно простой.
Мой подход заключается в том, чтобы просто зациклить переменную страты от 1 до n и сосчитать эти случаи; и затем объявите полученные суммы как константы. Это сработало бы в matlab, но VB не принимает s1 и s2 в качестве констант. Он даже не отобразит s1 и s2, когда я вставлю команду debug.print после цикла.
Я просмотрел соответствующие посты, уже сделанные. Я ценю любые советы. Спасибо.
Sub TOAinput()
Const n As Integer = 648
Dim stratum(n), hybrid(n), acres(n), hhsz(n), offinc(n)
For i = 1 To n
stratum(i) = Worksheets("hhid level").Cells(i + 1, 2).Value
Next i
Dim s1 As Integer
Dim s2 As Integer
s1 = 0
s2 = 0
For i = 1 To n
If stratum(i) = 1 Then
s1 = s1 + 1
Else:
s2 = s2 + 1
End If
Next i
Dim acres1(s1), hhsz1(s1), offinc1(s1), acres2(s2), hhsz2(s2), offinc2(s2)
(...)
End Sub