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

error bij document met visual basic code

Status
Niet open voor verdere reacties.

arjoderoon

Gebruiker
Lid geworden
2 mei 2007
Berichten
476
ik heb een formulier gemaakt waarop onze leveranciers acties aan kunnen leveren. Nu is dit formulier beveiligd zodat zij slechts een aantal cellen in kunnen vullen. Als je op 1 zo'n cel staat, kan je door op pijltje naar beneden te drukken, naar de onbeveiligde cel die het eerst komt gaan.

nu heb ik hier 2 problemen mee.

de eerste is: ik krijg de melding van een aantal kanten dat zij een error melding krijgen:
runtime error 1004: out of stack. Ik zelf heb dit probleem niet.

het 2e probleem is:
bij het naar beneden doorklikken gaat het goed tot een bepaald deel van het formulier.
Alleen onderaan zijn ook vier cellen die ingevuld moeten worden, maar daar kom ik niet door pijltje naar beneden te drukken. Nu kan je met de muis er gewoon bij, maar ik vraag mij toch af hoe dit kan.
hoe gaat dit: ik kan probleemloos klikken tot aan cel abcd 40 (samengevoegde cel). Daarna springt 'ie naar E25, daarna naar E29, daarna naar ABCD40. en zo is de cirkel weer rond. Daaronder staan echter nog cel B44, B46, B48 en B50. Maar hier kom je dan niet bij terecht.

ik heb de volgende code aan dit blad hangen:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)

        If Range("E25") = "" Then
        Range("E25") = "Maak hier uw keuze"
        End If
        If Range("E29") = "" Then
        Range("E29") = "Maak hier uw keuze"
        End If
        If Range("C31") = "" Then
        Range("C31") = "Maak hier uw keuze"
        End If
        If Range("A40") = "" Then
        Range("A40") = "Maak hier uw keuze"
        End If
        If Range("B44") = "" Then
        Range("B44") = "Maak hier uw keuze"
        End If
        If Range("B46") = "" Then
        Range("B46") = "Maak hier uw keuze"
        End If
        If Range("B48") = "" Then
        Range("B48") = "Maak hier uw keuze"
        End If
        If Range("B50") = "" Then
        Range("B50") = "Maak hier uw keuze"
        End If


End Sub

zie de afbeelding voor de foutmelding.


hoe kan ik dit oplossen? (het eerste is belangrijker dan het 2e probleem).
 

Bijlagen

Stuur je het Excel bestand naar je klanten of vullen ze dit online in?

Het lijkt mij een geheugenprobleem van de pc waarop het bestand gestart wordt.
Welke versie Excel gebruik jij en welke versie je klanten?
Komt de melding meteen de eerste keer of pas bij een volgende keer oproepen?
Maak je gebruik van tijdelijk opslaan op schijf?
Veel onduidelijkheden en vragen dus.

Moeilijk om zo een oplossing te vinden. Zeker als je niet weet op wat voor PC met welk besturingssysteem je bestand geopend wordt.
 
een hoop vragen waarvan ik er een aantal niet kan beantwoorden.

ik gebruik zelf office 2003. Welke versie de leveranciers gebruiken weet ik niet.
Het formulier is als excel bestand naar hen gemailed. Ik ga ervan uit dat zij dit centraal opgeslagen hebben.

die melding komt volgens mij meteen. dat is wat ik begrepen heb van de leveranciers.
 
Welke versie de leveranciers gebruiken weet ik niet.
Geef aan dat het ontwikkeld is in Excel2003 en dat het mogelijk niet werkt in eerdere of latere versies. (met name eerdere versies geven nogal eens problemen als er met macros gewerkt wordt.

Ik ga ervan uit
is altijd gevaarlijk. Mijn ervaring is dat het vaak vanuit de mail geopend wordt en dat het dan anders reageert dan verwacht. Ik vermeld er dan altijd bij dat men de sheet op moet slaan in een directory waar men over voldoende rechten beschikt.

Vraag dus op wat voor machine het bestand geopend wordt en hoe zij dit doen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan