darkness| Skrevet 27. august 2009 Del Skrevet 27. august 2009 (endret) Bare la det være sagt, jeg har ikke kunnskaper innen Visual Basic, så jeg er helt grønn her. Jeg har problemer med en macro i Excel. Når jeg trykker på macro-knappen får jeg opp følgende feilmelding. Compile error in hidden module: MiscFun Jeg bruker Office 2007, og har funnet modulen i Visual Basic-editoren. Ser dere noe som kan forårsake denne feilmeldingen? Sub CovarMat() Application.ScreenUpdating = False Worksheets("Asset Stats").Range("Ay6:CL45").ClearContents Dim NumAssets As Integer Dim i As Integer Dim j As Integer NumAssets = Sheets("Data Input").Range("D2") ReDim CorrMat(NumAssets, NumAssets) As Single 'Reset all numbers to zero first Worksheets("Asset Stats").Range("Ay6:CL45").Value = 0 For i = 1 To NumAssets For j = 1 To NumAssets CorrMat(i, j) = Sheets("Asset Stats").Cells(i + 5, j + 8) Worksheets("Asset Stats").Cells(i + 5, j + 50).Value = CorrMat(i, j) * Worksheets("Asset Stats").Cells(i + 5, 6) * Worksheets("Asset Stats").Cells(j + 5, 6) Next j Next i Application.ScreenUpdating = True End Sub Public Sub country_class() Worksheets("Data Input").Range("I51:AV91").Value = "" Dim num_clusters As Integer num_clusters = Worksheets("Data Input").Range("D2") Dim country_name(1 To 40) As String Dim i As Integer For i = 1 To num_clusters country_name(i) = Worksheets("Data Input").Cells(5 + i, 3) Next i Dim unique_country(1 To 40) As String Dim count As Integer 'Initialise unique_country(1) = country_name(1) count = 2 For i = 2 To num_clusters If country_name(i) <> country_name(i - 1) Then unique_country(count) = country_name(i) count = count + 1 End If Next i Worksheets("Data Input").Cells(1, 4) = count - 1 For i = 1 To count Worksheets("Data Input").Cells(51, 8 + i) = unique_country(i) Next i Dim j As Integer 'Get country binary codes For i = 1 To count - 1 For j = 1 To num_clusters If Worksheets("Data Input").Cells(5 + j, 3) = Worksheets("Data Input").Cells(51, 8 + i) Then Worksheets("Data Input").Cells(51 + j, 8 + i) = 1 Else Worksheets("Data Input").Cells(51 + j, 8 + i) = "" End If Next j Next i End Sub Endret 27. august 2009 av darkness| Lenke til kommentar
darkness| Skrevet 27. august 2009 Forfatter Del Skrevet 27. august 2009 Ser ut til at det er her det feiler: ReDim CorrMat(NumAssets, NumAssets) As Single Er nok en funksjon som mangler. Tråden kan stenges. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå