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

Opgelost Inhoud van cel alleen wijzigen door eerst met delete leeg te maken

  • Onderwerp starter Onderwerp starter hki
  • Startdatum Startdatum
Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

hki

Gebruiker
Lid geworden
8 okt 2009
Berichten
31
Besturingssysteem
Windows 11
Office versie
2021
Hallo,
Ik wil de inhoud van een cel alleen kunnen wijzigen door eerst op "Delete" te drukken.
Dus niet gelijk in de cel typen.
Zou dit lukken met een VBA-code?
 
Wat is het idee hier achter want het lijkt mij omslachtig en dubbel op werk
 
Omdat er een macro wordt gestart als de waarde in bv A1= 0
Wanneer men gelijk begint te typen is cel geen 0 meer en wordt de macro niet gestart.
 
A1=0, je zult waarschijnlijk bedoelen A1 =leeg

Plaats hier je bestandje eens, de macro kan misschien wel op een andere manier gestart worden.
 
Hallo Popipipo,
Bedankt voor je reactie. Ik moet misschien denken aan cel = leeg.
Het bestand is nogal erg groot, maar hier de door mij gebruikte code.
Als in tabblad "Eigenaar" cel E6 verandert, moet in blad "Gebouwen" de inhoud van H12 naar I12 worden gekopieerd en H12 weer 0 worden

Private Sub Worksheet_Calculate()
If Range("E6") < 1 Then
Call UnitA01
End If
End Sub


Sub UnitA01()
Call Eigenaar_Gebouwen
Sheets("Gebouwen").Select
Range("I12").Select
Selection.Copy
Range("H12").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("I12").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("I12") = 0
Call Gebouwen_Eigenaar
Range("E6").Select
End Sub
 
Mijn VBA is niet zo goed dat ik hier iets mee kan.
Misschien dat iemand anders je wel kan helpen.
 
In ieder geval bedankt voor de moeite.
 
Zet de functie =NU() in een willekeurige cel.
Als je dan in een andere cel op de Del toets drukt wordt de Sub Worksheet_Calculate gestart.

P.S.
Er staat een hoop overbodige code in je Sub UnitA01().
 
Laatst bewerkt:
Bedankt voor je reactie. Oke, maar ik wil de macro alleen gestart krijgen als men in cel E6 begint te typen Nu start de macro als ik E6 leeg maak dmv delete. Alles wat in een andere cel gebeurd mag geen gevolg hebben voor het starten van de macro.
 
Simpel toch?
Als de actieve cel niet E6 is doen in de Sub Worksheet_Calculate een Exit Sub.
Je kan niet voorkomen dat hij wordt gestart.

Tevens kan je niet een macro starten door simpelweg in een cel met typen te beginnen.
Een dergelijk Event is er niet.
 
Misschien wel simpel, maar de macro krijg ik niet gestart, wel als ik in cel E6 op delete druk.
In geen een andere cel mag de macro worden gestart, maar ik ben niet zo goed met VBA
 
Heb je de laatste 2 regels in m'n vorige bericht gelezen?
 
Oke, dat is wel mooi. Nu zit ik er mee dat er een macro moet starten als de cel van een andere inhoud krijgt. Als ik nu E6 verander start er geen macro en dat moet wel, vandaar dat ik de truc met "delete" had bedacht.
 
Als je de inhoud van een cel veranderd en vervolgens de cel verlaat wordt de Worksheet_Change gestart.
 
Iets minder code, edmoor heeft helemaal gelijk, en misschien kan er nog meer code uit, ik weet niet wat er in Eigenaar_Gebouwen en Gebouwen_Eigenaar gebeurt.
Code:
Sub UnitA01()
    Eigenaar_Gebouwen
    Sheets("Gebouwen").Select
    Range("H12").Value = Range("I12").Value
    Range("I12") = 0
    Gebouwen_Eigenaar
    Range("E6").Select
End Sub
 
Eigenaar_gebouwen en Gebouwen _eigenaar maken tabbladen zichtbaar en onzichtbaar.
Ga er weer mee aan de slag.
 
I.p.v. 'Select'
'With' gebruiken?
 
Iedereen bedankt voor het meedenken. Ik heb toch nog een vraag: het maakt niet uit welke cel ik verander, maar de macro wordt ALTIJD gestart en dat mag niet
 
Plaats een knop op het tabblad en laat de macro daarop starten
 
Is het niet mogelijk om alleen de inhoud van E6 te wijzigen door deze eerst te deleten?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan