ClearContent functie

Stel hier je vraag over een Excel probleem
CLE
Berichten: 4
Lid geworden op: 12 okt 2020 07:38

ClearContent functie

Berichtdoor CLE » 12 okt 2020 13:35

Beste,

Ik ben bezig met een Excel document met daarin items waarin meerdere mensen werken. Als de inhoud van de lijst wijzigt wordt de datum/ tijd en auteur geregistreerd.
Daarbij wordt de cel waarin iets is gewijzigd gemarkeerd met een rode omlijning.

Zodra 2 personen de wijzigingen hebben gecontroleerd/ gevalideerd zal de rode markering en de datum en tijd moeten worden verwijdert.

Het verwijderen van de rode markering gaat prima. Echter het wissen van de cel inhoud in de datum en tijd kolom geeft een error.

Hetgeen hierboven omschreven heb ik ontwikkeld in VBA. Mijn idee is om het wissen van de cellen te realiseren met de "Clearcontent" functie. Ik heb reeds diverse manieren geprobeerd maar ik krijg telkens een error melding en uit de error tekst kan ik niet achterhalen waar het fout gaat. Het internet en Google hebben mij helaas niet verder kunnen helpen vandaar dat ik het hier probeer.

Ik heb als bijlage een screenshot gemaakt van de Excel, VBA code en error die optreedt. De gele pijl geeft aan waar de foutopsporing verschijnt als ik deze oproep. (aw_name en sh_name worden vooraan in de VBA gedeclareerd)

Is er op dit forum iemand die me verder kan helpen? Of wellicht een betere oplossing heeft?


Bvd.
Bijlagen
CaptureErrorClearContents.PNG
CaptureErrorClearContents.PNG (361.75 KiB) 395 keer bekeken
Ad Becude
Berichten: 120
Lid geworden op: 30 apr 2019 15:15

Re: ClearContent functie

Berichtdoor Ad Becude » 12 okt 2020 14:49

Als er geen geheimen in het bestandje staan, post dan het bestandje....met een plaatje kan niemand iets.
En verwijder privé gegevens.
Met vriendelijke groeten, Ad
CLE
Berichten: 4
Lid geworden op: 12 okt 2020 07:38

Re: ClearContent functie

Berichtdoor CLE » 12 okt 2020 15:01

Ok, duidelijk bij deze.

Ik heb ook gemerkt dat na de foutopsporing te hebben gestopt dat Excel vastloopt bij het afsluiten van Excel. Wellicht heeft het een met het ander te maken?
Bijlagen
TEST_MacroDatum.xlsm
(30.54 KiB) 15 keer gedownload
jkpieterse
Site Admin
Berichten: 770
Lid geworden op: 30 jan 2017 14:32

Re: ClearContent functie

Berichtdoor jkpieterse » 13 okt 2020 12:24

De basis oorzaak van je probleem is dat je ClearContents opdracht op zichzelf weer hetzelfde Worksheet_Change event veroorzaakt waardoor je in een oneindige lus komt. Zie https://jkp-ads.com/articles/noevents00.asp
Groetjes,
Jan Karel Pieterse
jkp-ads.com
CLE
Berichten: 4
Lid geworden op: 12 okt 2020 07:38

Re: ClearContent functie

Berichtdoor CLE » 14 okt 2020 08:35

jkpieterse schreef:
13 okt 2020 12:24
De basis oorzaak van je probleem is dat je ClearContents opdracht op zichzelf weer hetzelfde Worksheet_Change event veroorzaakt waardoor je in een oneindige lus komt. Zie https://jkp-ads.com/articles/noevents00.asp
Duidelijk en achteraf ook logsich.

Ik heb de scripts gesplits in de triggers Worksheet_Change en Worksheet_SelectionChange. Na uitvoering van het verwijderen van de datum/ tijd verwijder ik de inhoud van de controlevelden.

Nu loop ik tegen het volgende probleem aan;
Als men een regel of kolom wil invoegen (insert), inhoud van meerdere cellen verwijderen (delete) en bij kopieren/ plakken (Copy/ Paste) middels de rechtermuisknop, dus niet via een macro dan krijg ik een fout melding op de verkleuring van de cel randen. De datum en tijd registreert het script wel. In enkele gevallen krijg ik geen foutmelding en lukt het niet om rijen, cellen, kolommen toe te voegen enof te verwijderen.

Iemand enig idee wat hier misgaat? Of is er een instructie om VBA code die detecteerd of het een Insert/ CopyPaste/ Delete actie betreft?


Als bijlage de vernieuwde Excel.

---------------------------------------------------------------------
VB code waar het mis gaat.
---------------------------------------------------------------------
If DataOld <> DataNew Then
Target.Borders.LineStyle = xlContinuous
Target.Borders.Weight = xlThick
Target.Borders.Color = vbRed
End If

---------------------------------------------------------------------
Foutmelding
---------------------------------------------------------------------

Fout 13 tijdens uitvoering:
Typen komen niet met elkaar overeen

---------------------------------------------------------------------
Bijlagen
TEST_MacroDatum_V0.2.xlsm
(31.28 KiB) 12 keer gedownload
CLE
Berichten: 4
Lid geworden op: 12 okt 2020 07:38

Re: ClearContent functie

Berichtdoor CLE » 18 okt 2020 17:37

CLE schreef:
14 okt 2020 08:35
jkpieterse schreef:
13 okt 2020 12:24
De basis oorzaak van je probleem is dat je ClearContents opdracht op zichzelf weer hetzelfde Worksheet_Change event veroorzaakt waardoor je in een oneindige lus komt. Zie https://jkp-ads.com/articles/noevents00.asp
Duidelijk en achteraf ook logsich.

Ik heb de scripts gesplits in de triggers Worksheet_Change en Worksheet_SelectionChange. Na uitvoering van het verwijderen van de datum/ tijd verwijder ik de inhoud van de controlevelden.

Nu loop ik tegen het volgende probleem aan;
Als men een regel of kolom wil invoegen (insert), inhoud van meerdere cellen verwijderen (delete) en bij kopieren/ plakken (Copy/ Paste) middels de rechtermuisknop, dus niet via een macro dan krijg ik een fout melding op de verkleuring van de cel randen. De datum en tijd registreert het script wel. In enkele gevallen krijg ik geen foutmelding en lukt het niet om rijen, cellen, kolommen toe te voegen enof te verwijderen.

Iemand enig idee wat hier misgaat? Of is er een instructie om VBA code die detecteerd of het een Insert/ CopyPaste/ Delete actie betreft?


Als bijlage de vernieuwde Excel.

---------------------------------------------------------------------
VB code waar het mis gaat.
---------------------------------------------------------------------
If DataOld <> DataNew Then
Target.Borders.LineStyle = xlContinuous
Target.Borders.Weight = xlThick
Target.Borders.Color = vbRed
End If

---------------------------------------------------------------------
Foutmelding
---------------------------------------------------------------------

Fout 13 tijdens uitvoering:
Typen komen niet met elkaar overeen

---------------------------------------------------------------------

Niemand? :roll:
tknijnenburg
Berichten: 184
Lid geworden op: 18 feb 2019 17:04

Re: ClearContent functie

Berichtdoor tknijnenburg » 19 okt 2020 09:41

Je vergelijkt een variabele zonder waarde met iets anders.
Je kunt het zo afvangen:

Code: Selecteer alles

                If DataOld <> Empty Then
                    If DataOld <> DataNew Then
                        Target.Borders.LineStyle = xlContinuous
                        Target.Borders.Weight = xlThick
                        Target.Borders.Color = vbRed
                    End If
                End If
Grtz, Ton
kn-ict.com

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers en 10 gasten