Gå til innhold

Excel/VBA feilmelding: Compile error in hidden module: MiscFun


Anbefalte innlegg

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 av darkness|
Lenke til kommentar
Videoannonse
Annonse

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...