• 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.

Automatiseringsfout

Status
Niet open voor verdere reacties.

reneemettrie

Terugkerende gebruiker
Lid geworden
1 aug 2006
Berichten
1.281
Ik weet niet of deze vraag op het Excelforum, of op het Cloudforum thuishoort.

Ik heb een lokaal Excelbestand met enkele macro's, subs en een function.

Blijkbaar kan ik dat niet als xlsm opslaan in OneDrive, dus voor mensen die het mogen raadplegen sla ik het op als xlsx.

Maar sinds gisteren heb ik voortdurend problemen met het lokale xlsm bestand.

Bij openen: melding:" automatiseringsfout"

Bij klikken "OK" kom ik terecht in de VBA editor waar een lijn met de naam van een sub of functie geel is gemarkeerd (die subs en functies werkten altijd correct, compileren geeft ook geen fout aan)

Bij klikken op de knop "Reset": weer "automatiseringsfout"

Bij sluiten: "deze opdracht onderbreekt de foutopsporing".

Maar sluiten is niet mogelijk, Excel afsluiten evenmin. Altijd maar herhaling van dezelfde meldingen. Enige oplossing is Excel verlaten via Taakbeheer...

Wat is hier het probleem en hoe los ik het op??? Heeft het iets met OneDrive te maken of helemaal niet?
 
Zou wel handig zijn als je ook de code laat zien waar VBA over struikelt, beter nog plaats je je document hier.
 
In deze functie:
Code:
Function categorie(concat As String) As Byte
    If InStr(1, concat, "Other") Or InStr(1, concat, "Alaskan Husky") Then
        categorie = 3
    ElseIf InStr(1, concat, "Siberian") Then
        categorie = 1
    Else
        categorie = 2
    End If
End Function

gebruik je het voor VBA gereserveerde woord concat als naam van een variabele.
Wijzig die eens in bijvoorbeeld s_concat
Op 4 plekken aanpassen dus.
 
Laatst bewerkt:
Heb ik ook aan gedacht, maar ik dacht dat je dan bij het compileren al een foutmelding kreeg.
En het rare is, dat als ik het bestand van OneDrive upload en dan open, ( ipv het lokale bestand) , ik geen foutmelding en problemen heb.
Uiteindelijk kan ik toch het xlsm bestand op OneDrive zetten maar op het werkblad waar de functie "categorie" wordt gebruikt verschijnt enkel "#NAAM".
Ik heb hoe dan ook de naam van het argument gewijzigd, nu maar hopen dat het probleem opgelost is.
In elk geval bedankt!
 
Dan kan dus kennelijk de functie categorie niet worden gevonden, dat is wat #NAAM aangeeft.
 
Ja, weet ik. Denk dat het is omdat de functiemacro op OneDrive niet beschikbaar is. Ook bv een button wordt daar niet weergegeven.
Maar de anderen moeten enkel de draaitabellen bekijken, en daar wordt de categorie correct weergegeven (ze doen geen refresh van de draaitabellen).
 
Gebruik ipv een UDF een gewone formule:

PHP:
=3*(NOT(ISERR(SEARCH("other";AC2)))+NOT(ISERR(SEARCH("alaskan";AC2))))+N(NOT(ISERR(SEARCH("siberian";AC2)))*ISERR(SEARCH("other";AC2))*ISERR(SEARCH("alaskan";AC2)))
 
Hm, heb eerst daaraan gedacht, maar vind het in VBA toch eenvoudiger :).
En zoals gezegd: de andere gebruikers moeten enkel de resulterende draaitabellen bekijken, niet de basistabel waarin deze functie gebruikt is.
 
Je kan ook voordat je het document opslaat als.xlsx de formules vervangen door hun waarden.
Code:
Sub VerwijderCategorie()
    Dim cl As Range
    With Sheets("Inscription_ValJoly")
        For Each cl In Range(Cells(1, 32), Cells(.UsedRange.Rows.Count, 32))
            cl.Value = cl.Value
        Next cl
    End With
End Sub
 
Laatst bewerkt:
Daar heb ik ook al aan gedacht. Maar met die problemen waarbij het lokale bestand blokkeerde was de enige oplossing een download van OneDrive.
En na die download wordt de functie weer herkend. Heb geen zin om telkens opnieuw alle functies erin te zetten als er nieuwe inschrijvingen bijkomen. En nogmaals, dat probleem met "#Naam" is een schoonheidsfout, maar kan geen kwaad omdat de anderen enkel de draaitabellen nodig hebben;
 
Het was maar een ideetje :)
 
Waar ik dus ook aan had gedacht :)
Voornaamste is die blokkering met de automatiseringsfout niet meer te hebben. Hopelijk blijft dat zo.
Prettig WE nog!
 
Het probleem is helaas niet opgelost.

Code is nu als volgt (zonder de quotes):

'
Code:
 Function categorie(concatenatieNaam As String) As Byte
'If InStr(1, concatenatieNaam, "Other") Or InStr(1, concatenatieNaam, "Alaskan Husky") Then
'categorie = 3
'ElseIf InStr(1, concatenatieNaam, "Siberian") Then
'categorie = 1
'Else
'categorie = 2
'End If
'End Function

Zodra ik het bestand open krijg ik weer "automatiseringsfout". Maar nu blokkeert de hele zaak niet meer. Ik zet de code als commentaar - reset - commentaar eraf, en dan nog eens F9 op het blad waar de functie gebruikt wordt.
Ik begrijp er niets van... Kan natuurlijk die ingewikkelde functie op het werkblad gebruiken maar zou wel willen snappen wat hier aan de hand is :(
Ik ga die functie eens in mijn personal.xlsb zetten om te zien wat er dan gebeurt...
 
Open je dat document rechtstreeks vanaf OneDrive? Kopiëer hem daar vandaan dan eerst naar je PC en open hem dan pas.
 
Edmore: Ik werk lokaal met het bestand en kopieer het voor de anderen (ter consultatie) naar OneDrive.
Dus normaal gezien open ik het lokaal en dan krijg ik die fout. Als ik het download vanuit OneDrive en dan open krijg ik de fout niet.
Maar ik kan niet rechtstreeks op OneDrive werken vanwege de macro's.

Snb: er zijn maar 3 categoriën: 1, 2, 3. Dus Byte lijkt me logisch. Kan toch ook dat probleem niet veroorzaken?

Ik heb nu de functiemacro in mijn personal gezet en het probleem doet zich niet meer voor. Begrijpe wie kan...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan