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.
ClearContent functie
ClearContent functie
- Bijlagen
-
- CaptureErrorClearContents.PNG (361.75 KiB) 580 keer bekeken
Re: ClearContent functie
Als er geen geheimen in het bestandje staan, post dan het bestandje....met een plaatje kan niemand iets.
En verwijder privé gegevens.
En verwijder privé gegevens.
Met vriendelijke groeten, Ad
Re: ClearContent functie
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?
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) 22 keer gedownload
-
- Site Admin
- Berichten: 810
- Lid geworden op: 30 jan 2017 14:32
Re: ClearContent functie
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
Re: ClearContent functie
Duidelijk en achteraf ook logsich.jkpieterse schreef: ↑13 okt 2020 12:24De 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
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) 18 keer gedownload
Re: ClearContent functie
CLE schreef: ↑14 okt 2020 08:35Duidelijk en achteraf ook logsich.jkpieterse schreef: ↑13 okt 2020 12:24De 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
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?

-
- Berichten: 238
- Lid geworden op: 18 feb 2019 17:04
Re: ClearContent functie
Je vergelijkt een variabele zonder waarde met iets anders.
Je kunt het zo afvangen:
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
kn-ict.com