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

Instructie functiioneert in de ene sub wel en in de andere niet

  • Onderwerp starter Onderwerp starter tkint
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

tkint

Gebruiker
Lid geworden
5 dec 2011
Berichten
776
Beste,

Deze code geeft bij de Worksheet_Change de foutmelding "onvoldoende stackruimte en voert de regel [D3]="" niet uit.
Bij de CommandButton1_Click() krijg ik de foutmelding niet. Ik werk met Excel 2007.
'
Code:
Private Sub CommandButton1_Click()
' Cells(Range("C" & Rows.Count).End(xlUp).Row + 1, 1) = [D3]
'  [D3] = ""
'End Sub



Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column =4  And Target.Row = 3 Then
 Cells(Range("C" & Rows.Count).End(xlUp).Row + 1, 1) = [D3]
  [D3] = ""
 Else: Exit Sub
 End If
End Sub
Iemand enig idee wat de oorzaak is?
 
Laatst bewerkt:
omdat je verandering weer andere veranderingen aanroept waarschijnlijk.

probeer dit eens:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column =4  And Target.Row = 3 Then
 application.enableevents = false
 Cells(Range("C" & Rows.Count).End(xlUp).Row + 1, 1) = [D3]
  [D3] = ""
 application.enableevents = true
 End If
End Sub
 
Beste,

Jouw antwoord is een correcte inschatting van de oorzaak. Bedankt!
Je mag inderdaad geen wijziging invoeren op het blad met de change-gebeurtenis want je komt in een loop terecht. Dat heb ik vandaag geleerd.
 
Terzijde:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address="$D$3" Then 
      application.enableevents=false
      Cells(Rows.Count,3).End(xlUp).offset(1,-2) = target.value
      target.value=""
      application.enableevents=true
  end if
End Sub

Je zou dit soort konstrukties ( een cel als invoerveld cf. een userform) moeten zien te vermijden.
 
Laatst bewerkt:
Beste,

Het is inderdaad beter de problemen te vermijden dan te moeten zoeken naar een oplossing.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan