Merhaba,
Bir okul projesi uzerinde calisiyorum, bu projede 4 farkli tahmin yapiliyor ve kullanici bu tahminlerden hangilerini karsilastirmak istedigini secebiliyor. Ben de bunu her secenegi once 0'a esitleyerek sonra Checkbox larin tiklanma durumuna gore tiklananlari 1'e esitliyor. Sonrada var olan datayla carpip grafige print ediyor. Yani tiklanan datalar oldugu gibi, tiklanmayanlar ise 0 olarak gozukuyor grafikte.
Sikinti surada, programi compile etmeyi denerken hata veriyor:
"Compile error : Can't assign to array"
Nerede yanlis yapiyorum, kodu asagiya koydum;
Bir okul projesi uzerinde calisiyorum, bu projede 4 farkli tahmin yapiliyor ve kullanici bu tahminlerden hangilerini karsilastirmak istedigini secebiliyor. Ben de bunu her secenegi once 0'a esitleyerek sonra Checkbox larin tiklanma durumuna gore tiklananlari 1'e esitliyor. Sonrada var olan datayla carpip grafige print ediyor. Yani tiklanan datalar oldugu gibi, tiklanmayanlar ise 0 olarak gozukuyor grafikte.
Sikinti surada, programi compile etmeyi denerken hata veriyor:
"Compile error : Can't assign to array"
Nerede yanlis yapiyorum, kodu asagiya koydum;
Kod:
Private Sub forecastButton_Click()
Dim movingAverageVariable() As Variant
Set movingAverageVariable = Sheets("Calculations").Range("CJ6").Value
Dim exponentialSmoothingVariable() As Variant
Set exponentialSmoothingVariable = Sheets("Calculations").Range("CJ6").Value
Dim holtsMethodVariable() As Variant
Set holtsMethodVariable = Sheets("Calculations").Range("CJ6").Value
Dim wintersMethodVariable() As Variant
Set wintersMethodVariable = Sheets("Calculations").Range("CJ6").Value
Dim activeVariable() As Variant
Set activeVariable = Sheets("Calculations").Range("CI6").Value
Dim movingAverageForecastArray() As Variant
Set movingAverageForecastArray = Sheets("Calculations").Range("S6:S65").Value
Dim exponentialSmoothingForecastArray() As Variant
Set exponentialSmoothingForecastArray = Sheets("Calculations").Range("Z6:Z65").Value
Dim holtsMethodForecastArray() As Variant
Set holtsMethodForecastArray = Sheets("Calculations").Range("AI6:AI65").Value
Dim wintersMethodForecastArray() As Variant
Set wintersMethodForecastArray = Sheets("Calculations").Range("AU6:AU65").Value
If movingAverageTextBox = True Then 'for ma
movingAverageVariable() = activeVariable()
End If
If exponentialSmoothingTextBox = True Then 'for es
exponentialSmoothingVariable() = activeVariable()
End If
If holtsMethodTextBox = True Then 'for hm
holtsMethodVariable() = activeVariable()
End If
If wintersMethodTextBox = True Then 'for wm
wintersMethodVariable() = activeVariable()
End If
Dim o As Object
Set o = CreateObject("excel.application")
o.Visible = True
o.Workbooks.Add
o.Sheets("Calculations").Range("BP6:BP65").Value = movingAverageForecastArray() * movingAverageVariable()
o.Sheets("Calculations").Range("BQ6:BQ65").Value = exponentialSmoothingForecastArray() * exponentialSmoothingVariable()
o.Sheets("Calculations").Range("BR6:BR65").Value = holtsMethodForecastArray() * holtsMethodVariable()
o.Sheets("Calculations").Range("BS6:BS65").Value = wintersMethodForecastArray() * wintersMethodVariable()
Chart1.Parent.Height = 500
Chart1.Parent.Width = 650
fname7 = ThisWorkbook.Path & Application.PathSeparator & "temp.jpg"
Chart1.Export Filename:=fname7, filtername:="jpg"
Image1.Picture = LoadPicture(fname7)
Kill fname7
End Sub
