Mam plik xls excel (excel 97-2003 skoroszytu), w którym istnieje kod vba. Chcę przekonwertować go na wersję 2007 lub nowszą programu Excel z włączonym tym kodem vba. Próbowałem:konwerter excel 2003 do 2007 lub najnowsza wersja z VBA
- Zapisz jako plik makro-enabled.xlsm
- zmienił ustawienia makr z this blogu. zmienił dokument w .xlsm, ale na wartościach komórki (dla którego uruchomiono makro) wyświetla # NAZWA zamiast wartości. orignal ekran plik strzał:
kod makr:
1.moveAcross.bas
Attribute VB_Name = "MoveAcross"
Sub GoToValues()
Attribute GoToValues.VB_Description = "Macro recorded 23-01-2001 by Murad Assaggaf"
Attribute GoToValues.VB_ProcData.VB_Invoke_Func = " \n14"
'
' GoToValues Macro
' Macro recorded 23-01-2001 by Murad Assaggaf
'
'
ActiveWindow.SmallScroll ToRight:=13
ActiveWindow.LargeScroll Down:=-2
ActiveWindow.SmallScroll Down:=-3
ActiveWindow.SmallScroll ToRight:=2
Range("X6").Select
End Sub
Sub ReturnToProfileArea()
Attribute ReturnToProfileArea.VB_Description = "Macro recorded 23-01-2001 by Murad Assaggaf"
Attribute ReturnToProfileArea.VB_ProcData.VB_Invoke_Func = " \n14"
'
' ReturnToProfileArea Macro
' Macro recorded 23-01-2001 by Murad Assaggaf
'
'
Range("G5").Select
End Sub
2.Demand.bas
Attribute VB_Name = "Demand"
Function Demand(m0, m1, m2, m3, m4, m5, m6, EndInv, ST, Fraction)
Static months(7) As Variant
months(0) = m0
months(1) = m1
months(2) = m2
months(3) = m3
months(4) = m4
months(5) = m5
months(6) = m6
Dim summy
summy = 0
If Fraction > 0 Then
summy = months(ST + 1) * Fraction
End If
For n = 0 To ST
summy = summy + months(n)
Next n
Demand = summy - EndInv
If Demand < 0 Then
Demand = 0
End If
End Function
3.Coverage.bas
Attribute VB_Name = "Coverage"
Function Coverage(m0, m1, m2, m3, m4, m5, m6, EndInv, ST, Fraction)
Static months(7) As Variant
months(0) = m0
months(1) = m1
months(2) = m2
months(3) = m3
months(4) = m4
months(5) = m5
months(6) = m6
Dim summy
summy = 0
If Fraction > 0 Then
summy = months(ST) * Fraction
End If
For n = 0 To (ST - 1)
summy = summy + months(n)
Next n
Coverage = EndInv/(summy/(ST + Fraction))
End Function
Pomóż nam cię posłuchać, ** połóż kod, który się nie powiedzie. ** –
@ Gary'sStudent, proszę sprawdzić, załadowałem kod. –
Które zawiedzie, gdzie? Czy działają poprawnie, ale po prostu zwracają błąd "# Name"? Czy umieszczasz jedną z funkcji w tej komórce? Który? – BruceWayne