• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

fout 13 tijdens uitvoering in zeer complexe excel sheet

Status
Niet open voor verdere reacties.

Steffen Pel

Gebruiker
Lid geworden
7 jul 2009
Berichten
11
Ik heb een excel rekenmodule laatst ontvangen van een collega in de VS welke projectkosten kan beheren en terugcalculeren. Tijdens de uitleg (op een andere pc) werkte de ingebouwde buttons onder de tabbladen; Assumptions, rent roll, construction en budget master prima na een mutatie (scherm flikkert tien keer en klaar).

Op mijn pc werkt het niet, als ik een mutatie in één van de tabbladen uitvoer en vervolgens op een button druk dat flikkert het scherm tien keer en vervolgens geeft hij een foutmelding 13.

Ik ben redelijk bekend met complexe formules in excel maar dit is geschreven op VBA macros die er achter zitten en daar ben ik niet bekend mee. Bij de foutopsporing zet excel een gele tekst bij de volgende zin ; Do While Range("Actual_LTC") < Range("Target_LTC").
Ik heb geen idee wat dit betekent, ligt het aan een pakket wat ik niet heb of aan de versie van office die ik gebruik ?

Ik krijg het bestand niet geupload omdat de grootte boven de 100 kb is, namelijk 1.888 kb. Ik kan hem wel op verzoek emailen naar degene die het antwoord op bovenstaande denkt te weten. Of is er een andere manier op de file op dit forum te krijgen.

Als iemand dit weet ben ik hem of haar eeuwig dankbaar want als ik deze sheet kan gebruiken bespaart dit mij een hele hoop tijd.

groeten

Steffen Pel
 
Kun je je bestand niet ZIP'en dan kun je het wel uploaden.

Cobbe
 
De gele markering van
Code:
Do While Range("Actual_LTC") < Range("Target_LTC")

Heeft niets te maken met een ontbrekend programma.
Heeft niets te maken met een bepaalde office versie.
Heeft er waarschijnlijk mee te maken dat een van de twee benoemde bereiken ("Actual_LTC" of Target_LTC") niet bestaat.
Kijk in het bestand bij menu/invoegen/naam of deze beide bereiken gedefinieerd zijn en zo ja, of er waarden in de overeenkomstige cellen staan.
 
Uploaden werkt net niet, bestand wordt nu maar 245kb groot maar is nog 145 te groot.

Ik kan beide actual en target niet terugvinden in de sheet, maar hoe moet ik daarna zoeken, is dat via VBA menu of gewoon in excel? En als ze er niet bij staan dan kan ik die programeer zin toch ook gewoon wissen?
 
En als ze er niet bij staan dan kan ik die programeer zin toch ook gewoon wissen?
Jawel hoor, alles kan, maar die moeite kun je je wel besparen. Dan kun je beter het hele werkblad niet gebruiken.
 
niet gebruiken gaat bij deze niet werken, alles is namelijk gelinkt met elkaar. Het lijkt erop dat jij vrij veel ervaring ermee hebt aan je rapsheet te zien. Hoe kan ik dat ding op dit forum krijgen zodat je er naar kan kijken
 
Zet alleen de tekst van de macro waar de fout optreedt hier neer (in je bericht met code-tags)
 
kopie

Sub A_BetterWay()
'
' Macro3 Macro
' The Linley Factor
'

'
Dim NbrofCols, ColCounter As Integer

Worksheets("Budget").Activate
Application.Goto Reference:="First_CapCall"
ActiveCell.Formula = "=F79"
Selection.Copy
Range("Future_CapCalls").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Application.Goto Reference:="Actual_LTC"

NbrofCols = Range("Future_CapCalls").Columns.Count + 1
ColCounter = 0

Do While Range("Actual_LTC") < Range("Target_LTC")

If ColCounter = NbrofCols Then
Exit Do
End If



If Range("Actual_LTC") < Range("Target_LTC") Then
ActiveCell.Offset(-14, 0).Select
ActiveCell.Formula = "0"
Application.Goto Reference:="Actual_LTC"
ActiveCell.Offset(0, -1).Activate
Names("Actual_LTC").Delete
Let ActiveCell.Name = "Actual_LTC"
ActiveCell.Offset(-1, 0).Activate
Names("Target_LTC").Delete
Let ActiveCell.Name = "Target_LTC"
Application.Goto Reference:="Actual_LTC"
ColCounter = ColCounter + 1
End If


Loop
With Application
.MaxIterations = 10000
.MaxChange = 0.000001
End With
Application.Goto Reference:="Actual_LTC"
ActiveCell.Offset(0, 1).Activate
Names("Actual_LTC").Delete
Let ActiveCell.Name = "Actual_LTC"
ActiveCell.Offset(-14, 0).Activate
Let ActiveCell.Name = "Transition"

If ColCounter = NbrofCols Then
Application.Goto Reference:="Actual_LTC"
ActiveCell.Offset(-1, 0).Activate
Names("Target_LTC").Delete
Let ActiveCell.Name = "Target_LTC"
End If

Application.Goto Reference:="Actual_LTC"
ActiveWorkbook.PrecisionAsDisplayed = False
Range("Actual_LTC").GoalSeek Goal:=Range("Target_LTC"), ChangingCell:=Range("Transition")
Names("Actual_LTC").Delete
Names("Target_LTC").Delete
Names("Transition").Delete
Selection.End(xlToRight).Select
Let ActiveCell.Name = "Actual_LTC"
ActiveCell.Offset(-1, 0).Activate
Let ActiveCell.Name = "Target_LTC"
Range("A1").Select
Application.Goto Reference:="LIRR"
End Sub

'REM The correct syntax when using the offset code
' is ".Select", however, I chose to use ".Activate".
 
Zoals snb al aangaf, met de macro op zich is waarschijnlijk niets mis maar is ofwel een bereik niet gedefinieërd of leeg en daarom loopt het mis. Druk in Excel CTRL-G en vul de bereiknaam in. Als hij niets vind zit daar je fout anders kijk je of de beide bereiken gevuld zijn.

Mvg

Rudi
 
Code:
Worksheets("Budget").Activate
Application.Goto Reference:="First_CapCall"
ActiveCell.Formula = "=F79"
Selection.Copy
Range("Future_CapCalls").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Application.Goto Reference:="Actual_LTC"

kan vervangen worden door
Code:
with Application.range("First_CapCall")
  .formula="=F79"
  .copy application.Range("Future_CapCalls")
End with

NbrofCols = Range("Future_CapCalls").Columns.Count + 1
ColCounter = 0

Do While Range("Actual_LTC") < Range("Target_LTC")

If ColCounter = NbrofCols Then
Exit Do
End If
Dit is onzincode: een loop waarin niets wijzigt.
Waarschijnlijk zijn Range("Actual_LTC") en Range("Target_LTC") geen cellen maar gebieden. Dan loopt het onherroepelijk fout.
Als deze code heeft gelopen was dat voordat je er wijzigingen in aanbracht.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan