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

Cellen wissen

Status
Niet open voor verdere reacties.

Justfabulous

Gebruiker
Lid geworden
30 okt 2010
Berichten
100
Hoi, ik heb een vraag of het mogelijk is dat als er een cel wordt ingevuld de andere cel gewist wordt incl. de formule. Ik heb een voorbeeld bijgevoegd en aangeven wat de bedoeling is.

Greetz
 

Bijlagen

ik doe een poging (zie bijlage).

ik moet er wel bij zeggen, dat me het doel van de opbouw van het bestand ontgaat.
 

Bijlagen

Hoi, helaas is dit niet wat ik bedoel. De bestaande formules moeten wel blijven werken.

Greetz
 
ik moet er wel bij zeggen, dat me het doel van de opbouw van het bestand ontgaat.

Dit geldt ook voor mij

@ Justfabulous
Wat Wil je nu precies met dit bestand?
Je stelt diverse vragen er over en door onze antwoorden doemen er weer nieuwe vragen op.
Wat is nu het primaire doel van dit bestand?
 
Beste Justfabulous,

ik zie niet meteen het verschil met je vorige bestandje.

geef eens (tekstueel) aan waar de datum's en kruisjes voor staan.

wat wil je uiteindelijk bereiken.

misschien moet de opbouw van het bestand wel worden aangepast, maar dat kan ik zo niet beoordelen.
 
Hoi, sorry. Ik heb nu duidelijk de bedoeling in het bestand omschreven. Ik had VBA formule nog niet toegevoegd.:rolleyes:

Greetz
 

Bijlagen

Code:
geef eens (tekstueel) aan waar de datum's en kruisjes voor staan.

wat wil je uiteindelijk bereiken.

ook nu zie ik in je bestand geen extra tekst, waaruit blijkt waarom deze kolommen op deze manier gevuld worden.

komen deze data uit een extern pakket of worden deze handmatig ingevoerd?
 
Bedoel je zoiets?

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("O3:O5000")) Is Nothing Then
     For Each c In [O3:O5000]
      If c > 0 Then
        c.Offset(, -11).ClearContents
       c.Offset(, -1) = c.Offset(, 2).Value
      End If
     Next
  End If
End Sub
 
Harry, dit ziet er goed uit. Alleen heb ik nog 1 probleem. Bij het invullen van kolom O wordt de formule gewist in kolom d :) alleen wordt er dan ook een X in kolom N geplaatst en dat moet niet. Kolom N mag alleen gevuld worden als kolom Q automatisch een X geeft, hier zit een formule in.

Greetz
 
En verzoek 1 = een kopie van kolom Q in N, alleen moet de formule in Q wel blijven.

Deze tekst stond in het laatste bestandje van je. :o
 
Klopt, Ik had erbij moeten zeggen dat dit in een apparte handeling gaat:rolleyes:
Bedoel alleen als Q gevuld wordt, dan ook kolom N vullen. Formule zit in kolom Q.

Greetz
 
Probeer het zo eens.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
   For Each c In [Q3:Q5000]
     If c = "X" Then c.Offset(, -3) = c
    Next
If Not Intersect(Target, Range("O3:O5000")) Is Nothing Then
     For Each c In [O3:O5000]
      If c > 0 Then
        c.Offset(, -11).ClearContents
       c.Offset(, -1) = c.Offset(, 2).Value
      End If
     Next
  End If
 Application.EnableEvents = True
End Sub
 
Bijna goed. Alleen als ik nu afzonderlijk een X plaats in kolom P, dan wordt de X teken wel verwijderd maar niet de formule. De formule in Q moet dan wel blijven staan.
Voor de rest werkt het.

Greetz
 
Graag een goede uitleg van handelen/cellen/kolom aanduiding etc., anders moet ik steeds gokken.

Mijn gedachte: Je plaatst een datum in kolom C, er komen in kolom D & Q een "X".
Daarna plaats je in kolom P een "X", dan verdwijnt in kolom D de "X", maar de formule moet dan ook verdwijnen?
 
Bijna goed. Het gaat om aantal dagen, dus zoals de formule in Q aangeeft komt er na een aantal dagen een X in kolom Q, plus een kopie in kolom N. De P is voor wachten en deze dient inderdaad de X plus de formule uit kolom D te verwijderen, maar de formule in Q moet er wel in blijven.

greetz
 
Moest even de jongste dochter van de discotheek halen. ;)

Nieuwe poging.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
   For Each c In [Q3:Q5000]
     If c = "X" Then c.Offset(, -3) = c
        Next
If Not Intersect(Target, [P3:P5000]) Is Nothing Then
           If InStr("Xx", LCase(Target)) > 0 Then Target.Offset(, -12).ClearContents
If Not Intersect(Target, Range("O3:O5000")) Is Nothing Then
     For Each c In [O3:O5000]
      If c > 0 Then
        c.Offset(, -11).ClearContents
       c.Offset(, -1) = c.Offset(, 2).Value
      End If
     Next
  End If
  End If
 Application.EnableEvents = True
End Sub
 
@ Harry
Wat een brave papa :D
Misschien 1 advies, als je met lussen werkt maak de bereiken dan dynamisch zodat je geen overbodige (lees lege) cellen doorloopt.
 
@ Rudi, ♪ Wees zuinig op mijn meisie ♫ ♪ (André Hazes) :d


Is een goed advies Rudi, 5000 rijen is veel te veel om te doorlopen, maar ik dacht, maak het eerst maar werkend dan maar opkuisen.
 
Het werkt :thumb:. 5000 rijen is wel veel ja. Kan de formule niet gekopieerd worden als men kolom C invoerd? En heb nog een vraag. Wil nog een kolom erbij maken, kolom R die een kopie maakt in M, dus ook weer een X in de kolommen.

Greetz
 
Zover zijn we, behalve je laatste vraag.

Het zet de formule in kolom D en Q als je kolom C invult.
Het zet de weeknummer in kolom E als je kolom C invult.

Nu nog een duidelijke omschrijving hoe je een kruisje gaat zetten in kolom R. ;)
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan