Tag Archive for: Legacy

,

Oprydning med fantastiske Excel og ChatGPT

Oprydning med fantastiske Excel og ChatGPT

Overblik over oprydning i slægtsdata

Oprydning med fantastiske Excel og ChatGPT

I forbindelse med den omsiggribende oprydning i slægtsdatabasen fik jeg idéen om, at det ville være vældig nyttigt at markere hvilke af de 841 gennemgåede personer, der er direkte aner i begge mine familier (adoptivfamilien og den biologiske familie).

Jeg har en Excelfil, hvor jeg i store træk noterer, hvad jeg har foretaget med den enkelte. Nogen videnskab er det selvfølgelig ikke.

Nogle få personer fra begge slægter kan jeg selvfølgelig genkende bare ved at løbe ned over rækkerne, men det er langt fra præcist.

Herunder er lidt af, hvad jeg gik igennem, før det lykkedes

Jeg ved, at mindst én af mine læsere ville kunne gøre det meget smartere 🙂 – men jeg kan desværre ikke skrive makroer, og ChatGPT kunne heller ikke få det til at lykkes trods mange forsøg. Så jeg gjorde det på “husmandsmåden”, og virkede det.

Udfordring 1: Få Legacy til at lave et udtræk med begge slægter vha. Fokusgruppe

Anne Marie Holck fra Legacys forum hjalp med at få dannet et udtræk, der viser direkte aner i begge slægter. Problemet opstod, fordi jeg forsøgte med en makro, der ikke resulterede i noget … Problemet var, at kildedata var mere end mangelfulde. Der kom slet ikke de personer med i udtrækket, jeg forventede. Det var hurtigt og nemt at se, at hverken mine “mormødre” eller “morfædre” var med i udtrækket.

Så jeg lærte om fokusgrupper, der er en genial funktion – især når man har flere familier. Prøv evt. selv:

  1. Gå til “Søg”
  2. Vælg “Forskelligt”
  3. Indstil hvem der skal være udgangspunktet.
  4. Vælg “Fokusgruppe”
  5. Indstil som vist
  6. Bemærk det nederste flueben “Inkluder flere forældre (hvis tilknyttet mere end et par)”. Det var lige det, der skulle bruges
  7. Vælg “Lav liste”
  8. Tryk “Valg”. Vælg “Udskriv” til en kommasepareret fil

Oprydning med fantastiske Excel og ChatGPT

Udfordring 2: Den kommaseparerede fil skal bearbejdes lidt

Filen, Legacy danner, vil se ud nogenlunde som nedenstående. Problemet er, at ID-nummeret (Legacy kalder det for RIN), står i samme felt som navnet. Vi skal kun bruge selve tallet for at komme videre.

Oprydning med fantastiske Excel og ChatGPT

Men det er ikke et reelt problem, for det klarer Excel som en mis. Denne formel trækker tallet ud og placerer det i fx celle B1:

=VENSTRE(A1; FIND(“,”; A1) – 1)

Stå i celle B1. Kopier formlen ind og straks har du noget, der ligner nedenstående:

Oprydning med fantastiske Excel og ChatGPT

  • Det vil sige, at nu har jeg nogle tal/RIN/ID’er, jeg kan sammenligne med tallene fra mit oprindelige store regneark.
  • Alle de tal, der findes i denne lille fil, kan sammenlignes med tallene i det store ark.
  • Hvis tallet findes begge steder, er der tale om en direkte ane fra en af slægterne.
Udfordring 3: Resultatløs tilpasning af det oprindelige ark

Jeg prøvede først med en makro, som ChatGPT skrev for mig, da jeg som nævnt ikke kan skrive makroer/VBA-kode, og min hjerne egner sig ikke til at lære det.

Robotten har været en kæmpe hjælp, idet jeg aldrig giver op overfor uløste problemer. Jeg er parat til betalingsudgaven (GTP-3 Plus eller GPT-4) efter dette. Jeg har brugt lang tid på opgaven, men jeg har sparet oceaner af tid i forhold til den tid, jeg skulle have brugt med Google.

Robotten skal vide, hvad man vil opnå. Man må fortælle, hvad man har i de forskellige kolonner og på to sekunder spytter den et forslag ud. Det er helt vildt. Det havde jeg ikke kunnet Google mig til, for med Google skal man jo fx vide, hvad funktionen hedder for at kunne søge efter den. Det finder ChatGPT selv ud af, når den ved, hvad man vil opnå og hvordan data ser ud.

“Vi” kunne ikke få det til at fungere med makroen. ChatGPT foreslog i stedet LOPSLAG og leverede en formel, men det lykkedes ikke. LOPSLAG er “bundet af”, at den værdi, man vil kigge efter, skal stå i første kolonne. 

Først prøvede jeg at sætte ID-numrene i forreste kolonne, så prøvede jeg med “Ja”, der fortæller mig, at her er en direkte ane. Lige meget hjalp det. Pludselig ville Excel overhovedet ingenting – ikke engang lægge to tal sammen. Det var helt ligegyldigt, hvor hvad stod. “Vi” måtte finde på noget andet.

Udfordring 4: ChatGPT foreslog INDEKS og SAMMENLIGN

Jeg har ofte læst om styrken ved de to funktioner i kombination men har syntes, det så indviklet ud. Nu fandt jeg tilbage til en af Kasper Langmanns (Proximo) videoer på YouTube. Han er god til at forklare og splitte opgaven op i trin, så man forstår, hvad man foretager sig. Det er ikke bare “copy and paste”.

Efter bare fem minutter havde jeg denne formel, som er græsk katolsk overfor, hvilke kolonner data befinder sig i.

=INDEKS(A:A;SAMMENLIGN(G24;B:B;0))

  • Sammenhold evt. disse punkter med det nederste billede, men det kan være svært at se
  • I kolonne A har jeg (helt dumt – men det virker) skrevet “Ja” ud for de 592 direkte aner
  • I kolonne B har jeg numrene på de 592 direkte aner. Numrene stammer fra =VENSTRE(A1; FIND(“,”; A1) – 1) i csv-filen, og som jeg bare har kopieret ind i den store fil.
  • Fx indeholder celle G24 nummer “995”, som er min mormors fars ID.
  • Kolonne H er som udgangspunkt tom. Den skal fodres med “Ja”, der hentes fra kolonne A.
  • Og helt lavpraktisk kigger funktionen så ovre i kolonne B for at se, om den også kan finde “995” der.
  • Hurra det kan den, og så returnerer den et “Ja” i kolonne H.

Så er der selvfølgelig “problemet” med, at alle de personer, der ikke findes begge steder (fordi de ikke er direkte aner).

Hvis jeg var bedre, end jeg er, kunne Excels returnering af #I/T sikkert være løst smartere. “Koden” vises, når der ikke er et match. Jeg lavede bare på to minutter lidt sortering frem og tilbage og slettede alle #I/T’erne. Det virkede strålende.

Og da de alligevel var sorterede, gav jeg dem lidt kulør. Og bagefter sorterede dem tilbage til den oprindelige dato for gennemgang, så jeg ikke mister det forkromede overblik, jeg endelig har fået.

Udfordring 5: Tænk hvis jeg kunne huske, hvorfor jeg ville markere de direkte aner

Jeg kan simpelthen ikke huske, hvad det var, der fik idéen om denne markering til at opstå. Men det må da være smart?

Da jeg fik idéen, besluttede jeg, at den var værd at bruge tid på. Og så har jeg lært en masse og jeg elsker læreprocesserne.

Oprydning med fantastiske Excel og ChatGPT

 

,

Tilbage til slægtsforskningen

Tilbage til slægtsforskningen

Slægtsforskning med Legacy

Tilbage til slægtsforskningen

Åh, hvor har jeg glædet mig til at vende tilbage til slægtsforskningen. Hvor er jeg glad for at se Legacy og mine data igen.

Siden den 15. januar i år har jeg haft travlt med at hjælpe min ven Mathias Emil Nielsen, stifter og ejer af GladTeknik, med hans hjemmeside. Det startede alt sammen med, at jeg “bare” skulle læse læse korrektur på hans hjemmeside, men det udviklede sig, så jeg nu også er deres webmaster.

Det er et “job”, jeg elsker. Det er svært at adskille sproglig korrektur fra ting, der ikke rigtig fungerer på hjemmesiden. Enten får man øje på manglerne, eller også gør man ikke. Og min #Superkraft er, at jeg ser alle detaljer. Det er fx kun mig, der opdager, at et link ikke fungerer, som det burde. Jeg har altid troet, at alle mennesker ser alle detaljer, men har nu lært, at det gør de ikke.

Som hovedregel er jeg glad for min #Superkraft, for den har mange anvendelsesmuligheder. Men der er også undtagelser. Jeg har fx utrolig svært ved at læse opslag på Facebook, der er virkelig dårligt skrevne (fyldt med stave- og kommafejl, ingen mellemrum (2 * tvungen ny linje) osv.).

Er det fuldkommen Anders And, og er jeg “ven” med vedkommende, sletter jeg vedkommende som “ven”. Det kan jeg lige så godt, for jeg kan alligevel ikke læse vedkommendes indlæg. Som min psykolog siger: “Når en autist ser en revne i væggen, ser hun kun revnen – ikke resten af væggen”. Og det har hun ret i.

Og nu, hvor jeg er igennem “det lange seje træk” med ca. 400 sider og indlæg, er der kun det sjove tilbage. Det er utrolig sjovt at være webmaster! Det kan jeg virkelig godt lide. Man skal holde tungen lige i munden, hvis man gør noget “farligt” og man skal vide, hvad man gør. Selvfølgelig kan det gå galt, selvom man er forsigtig. Det gjorde det også for mig en dag.

Heldigvis havde jeg en kopi at rulle tilbage til. “Better safe than sorry”. Uanset hvad var det en “lesson learned”. Jeg var lige lovlig hurtig til at slette et plug-in. Et plug-in er et lille tilføjelsesprogram.

Men uanset hvad har jeg nu tid til at vende retur til slægtsforskningen, og det er virkelig dejligt. Jeg kan ikke læse korrektur mv. mere end 4-5 timer om dagen. Det vil hjernen ikke være med til. Men jeg kan slægtsforske 16 timer om dagen.

At vende tilbage til Legacy

Det er herligt at se Legacy igen. Og jeg ved ganske præcist, hvor jeg kom til i den store oprydning, for jeg har udviklet et lille Excelark, der hjælper mig med at holde øje med, hvor jeg er kommet til.

Bortset fra Sommer-familien, som jeg arbejdede med ultimo februar i år, var jeg i færd med nogle direkte aner i Hørup, Slangerup Sogn, Lynge-Frederiksborg Herred, Frederiksborg Amt. De stammer fra 1600-tallet, hvor størstedelen af kirkebøgerne er brændt, hvor der ikke findes folketællinger (den første findes i 1769), og findes kirkebøgerne, har jeg utrolig svært ved at læse dem. Og det er vel egl. okay, når de er 400 år gamle.

Jeg er ærgerlig over, at jeg ikke for 20 år siden var tilstrækkeligt opmærksom på, at alt skulle dokumenteres. Erfarne slægtsforskere havde fortalt mig, at jeg skulle notere alt. Nu kan jeg se, at der ikke var grænser for, hvad jeg fandt det overflødigt at notere. Som eksempel er jeg ikke i tvivl om, at oplysningerne om de direkte aner i Hørup i Slangerup Sogn stammer fra en valid kilde – men havde jeg dog bare noteret hvilken.

Jeg er stadig i tvivl om, hvorvidt jeg nogensinde vil komme igennem den store oprydning. Men jeg vil gøre mit bedste. Lige nu er jeg igennem ca. 11 pct. af databasen. Lykkes det ikke, vil det ærgre mig, men der er ingen døde eller sårede af den grund.

Er du interesseret, finder du langt det meste af min forskning her.

Tilbage til slægtsforskningen

Slægtsforskning med DNA

Jeg har indsendt mundskrab til både MyHeritage og Ancestry, og får også jævnligt e-mails fra i hvert fald MyHeritage. Jeg er nok bare en alt for traditionel slægtsforsker, for jeg har svært ved at tro på de mere end 6.000 matches. Jeg ved ikke helt, hvordan jeg skal behandle dem. Hvad betyder i det hele taget “Forælders kusine i 2. led“? Det siger mig ikke så meget.

Min strategi er, at først gennemgår jeg min database, hvor jeg har sat slutdatoen til 31-12-2026. Og først derefter kigger jeg på alle de underlige ting fra MyHeritage.

Herudover har jeg smertelige erfaringer med at sige til en (formodet) halvsøster, at vi måske alligevel slet ikke havde fælles far. Så måske skal jeg bare holde mig til det, jeg kender ud og ind: slægtsforskning på papir?

Tilbage til slægtsforskningen

, ,

TNG og god oplevelse af at yde support

FAQ til TNG samt support

TNG og god oplevelse af at yde support

I relation til min TNG-side har jeg opbygget en FAQ (FAQ betyder “Ofte stillede spørgsmål”) med hjælp til at komme i gang med TNG (TNG står for “The Next Generation of Genealogy Sitebuilding”). Idéen bag FAQ’en er: dansk hjælp til selvhjælp.

Når man har læst artiklerne i FAQ’en, skulle man gerne være langt med at danne sin hjemmeside, og man skulle også gerne være klar over, at det ikke er gjort på en eftermiddag. Går man i stå med et emne, yder jeg glad og gerne gratis support under fem forudsætninger, der er beskrevet her. Supporten er gratis.

Forudsætningerne kan lyde lidt “hårde”, men sådan må det så være. Jeg gider ikke hjælpe med noget, man kunne have læst sig til fx bare ved at læse, hvad der står på skærmen. Af og til har jeg overvejet at lukke supportmuligheden, fordi jeg har haft alt for mange dårlig oplevelser, hvor jeg nærmest skulle agere “staveplade” for folk. Eller problemformuleringen lød “Det virker ikke” eller “Jeg har gjort, som du har skrevet”. Altså skulle jeg gætte mig til resten. Det falder i kategorien “Jeg gider ikke …”.

I dag have jeg en virkelig god oplevelse

Lene bookede mig i aftes, og vi talte sammen ca. 1½ times tid i dag og brugte samtidig TeamViewer. Hun havde problemer med billederne, hvilket er helt almindeligt. De kan meget let drille, også selv om man synes, man har gjort alt korrekt og tjekket og dobbelttjekket.

Ni af hendes billeder ville bare ikke blive vist, og det var hinsides al logik. Alt så rigtigt ud. Vi fik løst problemet med to af dem og fandt et mønster i det. Nu kan hun komme videre; og der er vist ikke andet at gøre end at arbejde med et ad gangen. Jeg ved ikke, hvor mange der var i alt, men et gæt er, at der var minimum 300. Så det er billigt sluppet med ni, der bøvler.

Hendes problemformulering var perfekt. Hun beskrev nøje, hvad hun selv havde forsøgt. Alt lød helt korrekt. Eftersom hendes problemformulering og beskrivelse af egen indsats var perfekt, kunne jeg på forhånd tænke over, hvordan jeg bedst kunne hjælpe. På den måde opstår den slags samarbejde, jeg holder af, og som gør det sjovt og udfordrende. Det er der, hvor jeg synes, jeg kan bidrage med noget. Jeg har intet problem med at sige “Det ved jeg simpelthen ikke, men lad os prøve igen, så jeg kan se det!”

Lene er velkommen igen.

Det er en proces og der er ingen magi

Alt for mange mennesker tror, at man lave en hjemmeside på en eftermiddag ved at trykke på et par knapper. Når de ikke kan nøjes med at trykke på et par knapper, vælger de i stedet pengemaskinen MyHeritage. Det er synd.

Sandheden er, at der skal meget mere end et par tastetryk til. Hvis man har slægtsforsket i fx 20 år, og har indsamlet nærmest millioner af data, er det helt sikkert, at data ikke er ensartede. Mine data er heller ikke ensartede. Men det vil de blive – om et par år …

Et program som fx TNG, men det gælder alle programmer, forventer en vis logik, for at man kan få det til at ske, man gerne vil have til at ske. Det kan være at vise billeder, vise folketællinger, vise dokumenter m.v. Det vil så også sige, at bag en velfungerende hjemmeside, der gør som forventet, ligger et stort arbejde med at “rydde op”, og med rydde op mener jeg “standardisere”. Folketælling nummer 1 skal skal se ud som folketælling nummer 995 osv.

En ting er sikkert: Der ligger ingen magi bag en hjemmeside. Alt er baseret på logik (og det er det, jeg elsker):

  1. Man starter i sit slægtsprogram, der for mit vedkommende hedder “Legacy”, og som spiller meget fint sammen med TNG,
  2. man eksporterer til en GEDCOM-fil, som så rummer det, der står i fx Legacy,
  3. man importerer GEDCOM-filen til TNG, og
  4. TNG viser derfor det, der står i GEDCOM-filen.
  5. Det vil sige: Er der noget galt i TNG, så skal jeg tilbage til Legacy. Det er her “ingen magi” viser sig.

Det med de nulevende

Jeg viser kun én nulevende, og det er mig selv, for jeg orker ikke bøvl med GDPR, Datatilsynet m.v. For at få det til at virke, når jeg generelt kalder nulevende for “Nulevende”, har jeg markeret mig selv som afdød – men jeg lever altså i bedste velgående.

Slægtsforskere må gerne vise banale data om nulevende. Datatilsynet skriver i sin årsberetning for år 2000 temmelig meget om slægtsforskning. Det er interessant og lærerigt at læse. Derfra har jeg tyvstjålet dette:

Datatilsynet har i sin praksis udtalt, at slægtsforskere som udgangspunkt godt må offentliggøre stamtræer med ganske ufølsomme (banale) oplysninger såsom navne, fødsels og dødsår uden samtykke fra de registrerede. Dette skyldes, at slægtsforskernes legitime interesser i at offentliggøre stamtræet i disse situationer som udgangspunkt overstiger de registreredes interesser.

Problemet er, at man måske på et tidspunkt registrerer en oplysning i sit slægtsprogram, der ikke kan henføres til kategorien “ufølsomme (banale) oplysninger”. Et helt almindeligt eksempel kunne være oplysninger fra en faderskabssag. Den er ikke-banal.

Når man eksporterer til GEDCOM og dernæst importerer den i TNG, vil disse ikke-banale oplysninger selvfølgelig komme med. Og det må man ikke.

Så kunne man selvfølgelig gemme oplysningerne fra faderskabssagen et andet sted for stadig at vise de banale oplysninger om nulevende. Det orker jeg bare ikke. Jeg vil have alle data ét sted, for ellers kan jeg ikke overskue alle min data. Og så er konsekvensen, at jeg må undlade at vise nulevende.

Jeg håber, denne argumentation og forklaring er logisk. Ellers er du velkommen til at spørge via en kommentar til denne artikel.

Den store oprydning er begyndt 3

Den store oprydning er begyndt 3

Slægtsdata perfektioneres og udbygges

Den store oprydning er begyndt 3

Denne artikel er en opfølgning på tidligere artikler om emnet, senest denne: “Den store oprydning er begyndt 2.

Gad vide om jeg nogensinde bliver færdig med at rydde op i mine data om slægten? På en god dag klarer jeg 10 personer, hvilket jeg kan holde øje med i loggen, der består af et Excelark. Nogle finder det omstændeligt. Selv synes jeg, det fungerer ret godt, og jeg vil gerne holde styr på, hvad jeg har foretaget mig med hvem.

For at data om, hvad der er nyt, senere kan bruges til noget, er de nødt til at være ensartede. Det dur fx ikke, at der nogle gange står “Fødested” og andre gange står “Født sted”. Hvis de ikke er ens, ved man jo ikke, hvad man skal søge efter.

Da jeg havde gennemgået de første ca. 100 personer, lavede jeg en liste over, hvad jeg havde noteret i kolonnen “Nyt”. Noget af det var noget vrøvl; andet var i orden. På den baggrund tog jeg en kopi af listen fra Excelarket og satte den ind i Notepad++ og sorterede alle ordene i alfabetisk orden. Den sorterede liste blev lagt tilbage i Excel oveni de gamle ord. Så var jeg fri for det, der var noget vrøvl.

Det er vigtigt at ordene er i alfabetisk orden, eller er de jo ikke til at finde senere.

Hvad er nyt?

Min liste over nye data ser sådan ud. Der er indtil videre 60 forskellige ord.

Det, der står efter er lig med-tegnet, står i sin egen celle.  Dvs. “Begr.” stå i en celle. Og i cellen ved siden af står forklaringen om, at “Begr.” betyder “Begravelse”. Listen kan nemt gøres længere (eller kortere), hvis der er behov for det, men lige nu, hvor jeg har gennemgået 144 personer har den vist sig at være tilstrækkelig.

Mange ord behøver ikke en forklaring. I hvert fald behøver slægtsforskere ikke en forklaring. Hvis jeg har andre læsere, skal jeg nok lige fortælle, at FT betyder “Folketælling”.

Begr. = Begravelse
Begr.sted = Kirkegård
Besk. = Beskæftigelse
Bopæl
Data kunne ej verificeres -> slettet
Dsted = Dødssted
Dåb
Død
Død ej fundet
Dødsattest
Dødsårsag
Enavn = Efternavn
Fadd. = Faddere
Fader = Far
Fejlrettelse
Fmåned = Født måned
Fnavn = Fornavn
Forskningsnote
Fsted = Født sted
FT 1771
FT 1787
FT 1801
FT 1834
FT 1840
FT 1845
FT 1850
FT 1855
FT 1860
FT 1870
FT 1880
FT 1885
FT 1890
FT 1901
FT 1906
FT 1911
FT 1916
FT 1921
FT 1925
FT 1930
FT 1940
Får = Fødselsår
Generel note
Gravsten
Img. = Billede
Introd. = Introduceret dato
Irrelevant person-> Slettet
Konf. = Konfirmeret
Konf. ikke fundet = Konfirmation ikke fundet
Lysning = Lysning til ægteskab
Medicinsk note
Medicolegal Ligsynsattest
Moder = Mor
Navneændring
Politiets Registerblade
Skifteattest dato = Typisk forudsætning for nyt ægteskab
Statstidende tjekket for død
Vacc. = Vaccination
Vielse
Vielser
Ægtefælle tilføjet

Nu kommer det smarte endelig

Den store oprydning er begyndt 3

Den store oprydning er begyndt 3

I Excel har jeg ved hjælp fra det vidunderlige internet lavet en såkaldt VBA-kode, der gør, at jeg kan vælge ordene fra listen, når jeg arbejder med en person. Jeg håber, billedet forklarer idéen. Andre ord kan frit skrives, men jeg anbefaler, at du lader være.

På den måde får jeg nemt ensartede data, som senere kan udnyttes til et eller andet. Lige nu ved jeg egl. ikke hvad, men det ved jeg om 5.000 personer og 1½ år. Og tænk, hvis jeg til den tid ærgrer mig over ikke at have standardiseret ordene fra begyndelsen? Det ville være ærgerligt og efter et par år, begynder man ikke forfra.

Læg mærke til hvor meget der nemt kan tilføjes.

Vedrørende en enkelt person har jeg altså uden videre kunnet tilføje følgende informationer: Død, Fejlrettelse, Folketællingen 1880, Vaccination., Konfirmation og Vielse. Der er sørme sket meget på 20 år!

Hvis du er interesseret i at få en kopi af regnearket, er du velkommen. Du kan kontakte mig her.

For at “det smarte” vil virke hos dig, skal du formentlig have Microsoft Office 365. Jeg ved nemlig ikke, om VBA-koden, der sørger for at listen fungerer, altså det at man vælger de forskellige ord, også virker i tidligere versioner af Excel. Jeg har ikke forstand på VBA og har bare fundet løsningerne rundt omkring på nettet og så eksperimenteret mig frem, indtil det virkede hos mig og til mit formål.

VBA-koden kommer her

Det kan være, at du bare kan sætte koden ind i dit eget ark og få det til at fungere ad den vej, hvis du ikke har Microsoft Office 365. Og jeg er ked af, at jeg sikkert ikke kan besvare spørgsmål om det. Som sagt har jeg bare søgt med Google og eksperimenteret mig frem.

Jeg kombinerede mig frem ved hjælp af nedenstående:

  1. Datavalidering. Det er en funktion i Excel, som du finder i fanen “Data”.
  2. https://trumpexcel.com/select-multiple-items-drop-down-list-excel/ og
  3. https://www.tutorialspoint.com/How-to-select-multiple-options-in-a-dropdown-list-with-JavaScript

God fornøjelse. Det bliver godt!

 

Private Sub Worksheet_Change(ByVal Target As Range)
'Code by Sumit Bansal from https://trumpexcel.com
' To allow multiple selections in a Drop Down List in Excel (without repetition)
Dim Oldvalue As String
Dim Newvalue As String
Application.EnableEvents = True
On Error GoTo Exitsub
If Target.Column = 6 And Target.Row > 1 And Target.Row < 5001 Then
If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then
GoTo Exitsub
Else: If Target.Value = "" Then GoTo Exitsub Else
Application.EnableEvents = False
Newvalue = Target.Value
Application.Undo
Oldvalue = Target.Value
If Oldvalue = "" Then
Target.Value = Newvalue
Else
If InStr(1, Oldvalue, Newvalue) = 0 Then
Target.Value = Oldvalue & ", " & Newvalue
Else:
Target.Value = Oldvalue
End If
End If
End If
End If
Application.EnableEvents = True
Exitsub:
Application.EnableEvents = True
End Sub