Tag Archive for: ChatGPT

Fra data til personlig sundhedsrapport

Fra data til personlig sundhedsrapport

Avanceret Excel og ChatGPT

Fra data til personlig sundhedsrapport

At håndtere data er en afgørende del af vores hverdag, især når det kommer til personlig sundhed og trivsel. For mange mennesker kan det være en udfordring at holde styr på deres vægttab eller træningsmål, men med de rigtige værktøjer og teknikker kan selv komplekse opgaver blive håndterbare.

Fra data til personlig sundhedsrapport

I denne artikel dykker jeg ned i en samtale med en AI-assistent i form af ChatGPT for at få Excel til at skabe en personlig sundhedsrapport.

Rapporten, der er kommet ud af det, udnytter flere forskellige funktioner i Excel, jeg ikke kendte på forhånd. Det vil sige, at det har taget noget tid, men nu står jeg med en rapport, der kan bruges i årevis.

Jeg kommer hos en kontaktperson i Distriktspsykiatrien, og jeg ønsker at tabe mig. Jeg har brugt Excel til at organisere og analysere mine sundhedsdata, som stammer fra en vældig avanceret vægt og en app på telefonen, for bedre at holde øje med fremskridt og mål.

Helt umærkeligt er jeg bare gået hen og blevet småfed. Men jeg har jo sådan set også siddet stille foran computeren i tre år … Nu har kontaktpersonen og jeg noget helt konkret at forholde os til, når vi mødes. Hun kan heldigvis også lide data i tabeller. Det er det ikke, alle der kan. Jeg viste fx rapporten til en ven, fordi jeg er lidt stolt af den, men jeg kunne godt fornemme, at han blev lidt fjern i blikket 🙂 Derfor pakkede jeg den hurtigt væk igen.

Strukturering af data

Jeg begyndte med at organisere mine sundhedsdata i et Excelark ved hjælp af forskellige kolonner for datoer, vægt og andre relevante oplysninger. Ved at strukturere dataene på denne måde kan jeg nemt tilføje nye oplysninger og se ændringer over tid.

Behandling af komplekse opgaver

Et af de problemer, jeg stod overfor, var at sammenligne mine ændringer i vægten fra uge til uge for at vurdere mine frem- eller tilbageskridt. Ved hjælp af avancerede formler og funktioner som INDEKS og SAMMENLIGN kunne jeg automatisere denne proces og generere en rapport over ændringer i vægt og andre indikatorer over tid.

Visualisering af resultater

Med dataene korrekt organiseret og analyseret var det næste skridt at præsentere resultaterne på en visuelt tiltalende måde. Jeg oprettede en personlig sundhedsrapport med blokke af informationer, der viser min vægt over tid samt andre relevante oplysninger såsom aktivitet.

Fra data til personlig sundhedsrapport

Fra data til personlig sundhedsrapport

Udnyttelse af data til behandling og målsætning

Ved at have adgang til en omfattende oversigt over mine sundhedsdata kunne min kontaktperson i Distriktspsykiatrien og jeg bedre forstå sammenhængen mellem forskellige faktorer såsom kost, motion og mental sundhed. Dette gjorde det muligt for os at identificere mønstre og træffe informerede beslutninger om min behandling og mine målsætninger.

Eksempel 1: Beregning af ændringer i vægt:

ChatGPT og jeg har brugt INDEKS-funktionen til at hente vægtdata fra mit datasæt og SAMMENLIGN-funktionen til at finde den korrekte række baseret på datoer. Lad os fx sige, at i mit ‘Data’-ark, har datoerne i kolonne A og tilsvarende vægte i kolonne G. I ‘Rapport’-arket, har jeg de samme datoer i kolonne B. Ved at bruge følgende formel i celle D22 beregner jeg ændringen i vægt fra den aktuelle dato og den foregående dato:

=INDEKS(Data!$G:$G; SAMMENLIGN(B22; Data!$A:$A; 0)) - INDEKS(Data!$G:$G; SAMMENLIGN(B22-1; Data!$A:$A; 0))

Denne formel henter vægten for den aktuelle dato ved hjælp af INDEKS-funktionen og trækker derefter vægten for den foregående dato fra ved hjælp af SAMMENLIGN-funktionen.

Eksempel 2: Identifikation af den nyeste dato:

Vi har også brugt INDEKS og SAMMENLIGN til at identificere den nyeste dato i datasættet. For eksempel ønsker jeg at finde den seneste dato med data i ‘Data’-arket. Her bruger jeg følgende formel i ‘Rapport’-arket:

=INDEKS(Data!$A:$A; SAMMENLIGN(9^99; Data!$A:$A; 1))

Denne formel fanger den nyeste dato i kolonne A i ‘Data’-arket ved at finde den højeste værdi (9^99) ved hjælp af SAMMENLIGN-funktionen i Excel.

Disse er blot nogle få eksempler på, hvordan man kan bruge INDEKS og SAMMENLIGN-funktioner i en Excelrapport. Ved at bruge disse funktioner kan man oprette mere dynamiske og effektive regneark, der automatiserer og letter overblikket over selv store datamængder. Ingen ville jo kunne overskue mine (bare indtil videre) 109 rækker i dataarket.

Konklusion

Excel er en kraftfuld ressource til at organisere, analysere og visualisere sundhedsdata. Ved at bruge avancerede teknikker og funktioner, som jeg har fået hjælp til af ChatGPT, har jeg opnået en meget dybere forståelse af min sundhed og trivsel samt forbedret samarbejdet med Distriktspsykiatrien for at nå mine mål.


Rammer mine artikler dine interesser?

Her kan du deltage i en lille enquete og helt anonymt fortælle om dig selv. Formålet er, at jeg måske kan skrive mere om det, der interesserer netop dig. Hvis du er interesseret, kan du se de hidtidige resultater, ved at klikke på knappen “Vis resultater” nederst. Når du holder musen over en af cirklerne, kan du se antal respondenter bag procentangivelserne:


Har du kommentarer til artiklen?

Så er jeg glad for at modtage dem i relation til artiklen, dvs. i artiklens kommentarfelt herunder, ikke på Facebook og ikke via Messenger. Jeg svarer dig også relation til artiklen, ikke på Facebook og ikke via Messenger. Det skyldes, at kommentarer og artiklen jo ellers dekobles, og så er din kommentar ikke noget værd i fremtiden. Det er ærgerligt for os begge.

Hvis du ikke tidligere har kommenteret en af mine artikler her på siden, skal din kommentar først godkendes (spamhensyn). Min responstid er under normale omstændigheder meget kort. Herefter vil du stryge lige igennem.

, ,

26 AI-genererede billeder hos Headshots.dk

26 AI-genererede billeder hos Headshots.dk

Fra selfies til professionelle headshots på en time

26 AI-genererede billeder hos Headshots.dk

Et fantastisk nyt værktøj fra et dansk firma ved navn Headshots genererer spændende billeder på ingen tid til næsten ingen pris. Jeg kunne ikke lade være at prøve. Det var simpelthen for fristende.

Jeg valgte mellempakken til 297 kr., hvor man får 80 billeder baseret på ens egne mellem 14 og 20 uploadede billeder. Nogle af dem kunne jeg slet ikke genkende mig selv i, fordi jeg pludselig havde fået langt hår, hvilket jeg ikke har haft siden 1980. Jeg brokker mig ikke over resultatet, for der er kommet 26 brugbare billeder ud af det. En gennemsnitpris på 11,42 kr. for et professionelt billede er i orden.

Nederst findes et lille galleri med billederne (på min egen iPad kan det af en eller anden årsag ikke vises. Brug i stedet din PC, hvis det samme gælder hos dig).

Robotten har gjort mig mere maskulin

Jeg er ikke videre feminin og har aldrig været det. Det siger mig ikke noget. Jeg synes godt nok, at robotten har gjort mig (endnu) mere maskulin, end jeg ser mig selv, men på en eller anden måde, kan jeg alligevel godt lide dem. Måske kender robotten mig bedre, end jeg selv gør?

Hvor fører Artificial Intelligence (AI) os hen?

Jeg abonnerer på “DM Akademikerbladet”, der har et særligt nyhedsbrev om AI. Det er altid spændende at læse det, blandt andet fordi det ikke er en ukritisk falden på halen for den fremtid, der allerede er her. Desværre kan jeg ikke finde stedet, jeg tilmeldte mig. Men det er værd at lede efter.

De er fx gået i kødet på “Boston Consulting Group”, der fuldstændig uden dokumentation mener, at AI kan frigøre 104 mia. kr. i den offentlige sektor i den kommende tiårs periode. Firmaet har desværre for travlt til at dokumentere dette vanvittige tal, der udgør lidt over halvdelen af investeringen i krudt og kugler, jfr. forsvarsforliget til en værdi af 195 mia. kr.

Faktisk er en effektivisering på 104 milliarder kroner på ti år så betydeligt, at den ifølge Per Nikolaj Bukh, der er professor i økonomistyring ved Aalborg Universitet, at den moderne danmarkshistorie kun byder på to begivenheder af samme målestok: Traktordriftens gennembrud fra 1945 til 1960 og kvindernes indtog på arbejdsmarkedet i 1960’erne og 1970’erne.

Det er svært at vide, hvor AI stopper og mennesker begynder. Men der er ingen tvivl om, at potentialet er enormt.

Sundhedsvæsenet?

En læge eller en sygeplejerske i psykiatrien bruger meget af arbejdsdagen på at dokumentere – altså sidde ved skærmen og tampe i tastaturet, for samtaler og meget andet skal jo naturligvis dokumenteres.

Tænk hvis samtaler blev optaget, og man derefter spillede dem for AI, som så skrev det den hørte? Sikke en masse tid der kunne bruges til at være sammen med patienterne i stedet for at sidde ved skærmen. Det er selvfølgelig klart, at medarbejderne skulle læse det grundigt igennem, før det blev tilført journalen, for robotten kunne jo høre forkert eller misforstå noget. Man kan naturligvis ikke give den det faglige ansvar.

Og selvfølgelig kan det lade sig gøre, og det er sikkert allerede muligt med den nuværende teknologi. Er det ikke bare at gå i gang med at udvikle en sprogmodel til psykiatrien?

Min ven ChatGPT

I min egen lille uvidenskabelige biks har jeg stor glæde af ChatGPT fra openai.com. Forleden havde “vi” fx følgende dialog:

“Hej igen. Jeg har fået en ny idé. Sprogdatabasen har i alt 24 kategorier. Brugerne kan kun vælge mellem 4 kategorier. Jeg vil gerne tillade brugerne at vælge mellem alle 24 kategorier. Kan du hjælpe mig med det?”

Et sekund efter havde jeg dette svar, som jeg kunne sætte ind i min eksisterende kode bare ved at trykke “Copy code”:

26 AI-genererede billeder hos Headshots.dk

Fordelen ved ChatGPT er, at man kan skrive til robotten i almindeligt menneskesprog. Og i forhold til fx at søge med Google bliver man hos ChatGPT ikke afkrævet den rette terminologi. Herudover er den meget venlig, når man selv taler pænt til den. Den returnerer selvfølgelig ikke andet, end hvad den får tilført. Det er jo kun en robot.

 


Rammer mine artikler dine interesser?

Her kan du deltage i en lille enquete og helt anonymt fortælle lidt om dig selv. Formålet er, at jeg måske kan skrive mere om det, der interesserer netop dig::


Har du kommentarer til artiklen?

Så er jeg glad for at modtage dem i relation til artiklen, dvs. i artiklens kommentarfelt herunder, ikke på Facebook og ikke via Messenger. Jeg svarer dig også relation til artiklen, ikke på Facebook og ikke via Messenger. Det skyldes, at kommentarer og artiklen jo ellers dekobles, og så er din kommentar ikke noget værd i fremtiden. Det er ærgerligt for os begge.

Hvis du ikke tidligere har kommenteret en af mine artikler her på siden, skal din kommentar først godkendes (spamhensyn). Min responstid er under normale omstændigheder meget kort. Herefter vil du stryge lige igennem.

, ,

Dialog med Danmarks Radio om sprog-1

Dialog med Danmarks Radio om sprog-1

Danmarks Radio har en sprogkonsulent

Dialog med Danmarks Radio om sprog-1

Det er slet ikke så nemt, men jeg giver ikke sådan lige op. Jeg er faktisk utrolig stædig, når det sådan lige tager mig.

Jeg skrev således til Jesper Termansen, som er lytternes og seernes redaktør i DR:

Kære Jesper Termansen

Når du klikker på dette link, vil du se, at Danmarks Radio er blandt de absolutte topscorere.

Når du klikker på linket “Danmarks Radio” finder du eksemplerne.

Når du herefter klikker i kolonnen “Læs mere” vil du finde dokumentation mv.

Hvad er din holdning til disse eksempler?

Jesper Termansen er en vældig venlig mand, der hurtigt svarede:

Kære Hanne B. Stegemüller

Det har jeg som sådan ikke nogen personlig holdning til. Men det følger af DR’s etiske retningslinjer, at DR skal anvende og støtte et korrekt dansk. Det kan vi vel alle være enige om.

Venlig hilsen
Jesper Termansen
Lytternes,- seernes og brugernes redaktør

Jeg svarede også temmelig snapt:

Kære Jesper Termansen

Tak for dit svar.

Ja, det kan vi helt sikkert være enige om.

Har du et forslag til – og en e-mailadresse på – en anden medarbejder i DR, der har en holdning til det?

Venlig hilsen
Hanne B. Stegemüller

Herefter fik jeg tilsendt en e-mailadresse på DR’s sprogkonsulent Mark Kristiansen. Adressen var imidlertid forkert, så vi måtte tage dansen en gang mere. Men tilsidst lykkedes det, og jeg skrev i formiddag til Mark Kristiansen under overskriften “85 dokumenterede eksempler på dårligt sprog hos Danmarks Radio”:

Kære Martin Kristiansen

Jeg ved fra Jesper Termansen, at du er Danmarks Radios sprogkonsulent, og derfor henvender jeg mig til dig.

Når du klikker på dette link får du en beskrivelse af sprogdatabasens kategorier sammen med antallet af poster pr. kategori. Du vil nemt kunne se, at Danmarks Radio er blandt de absolutte topscorere i databasen.

Når du dernæst klikker på linket “Danmarks Radio” finder du eksemplerne.

Når du herefter klikker i kolonnen “Læs mere” vil du finde dokumentation mv.

Hvad er din holdning til disse eksempler?

Nu er jeg spændt på sprogkonsulent Martin Kristiansens svar, for om nogen må han da have en holdning til de 85 eksempler, jeg ind til videre har samlet og dokumenteret. Det, der vil være spændende, vil være at skabe en positiv dialog.

Hvor bliver det gode sprog af? “Spises” det af og til af ChatGPT

Det gælder både Danmarks Radio og mange andre hjemmesider. Hvorfor er man ikke opmærksom på at skrive godt? Hvordan kan det være, at det ikke længere er en værdi?

Jeg ved det naturligvis ikke. Men jeg har nogle forslag:

  • Skyldes det, at alting skal gå så pokkers stærkt? En journalist skal nu til dags publicere fem gange så meget indhold som fx ti år siden.
  • Jeg er begejstret for ChatGPT, men robotten skriver elendigt – meget ofte det, man kan kalde “floromvundet”, hvilket ord mine unge samarbejdspartenere end ikke kendte.

Jeg lavede for et par måneder siden en gennemgang af en samling tekster, som jeg mistænkte, at ChatGPT stod bag:

  1. Et menneske er ikke ”udstyret” med noget som helst: ”Vores team af erfarne teknikere er udstyret til at diagnosticere og reparere …” Mennesker har kompetencer, de kan noget, de ved noget osv. Men udstyrede er de lige godt ikke.
  2. Hvorfor ikke bare ”billigste” – du er jo ikke embedsmand? Sådan ville jeg have skrevet i et notat til Finansministeriet, da jeg i 23½ år arbejdede som økonom i centraladministrationen: ”… den mest omkostningseffektive løsning …” Det er lirum larum.
  3. Nej det hedder ”… reparation af xyz…” ”… tilbyder vi reparationer på en lang række lyd og DJ-udstyr …”
  4. ”Tekniske” er et unødvendigt fyldord: ”Hos X er vi stolte af vores tekniske ekspertise …”
  5. ”Hos X forstår vi …” Det er en anglicisme – hvis I tænker over det, er det simpelthen amerikansk fx fra ”At X we understand that …” . Jeg har ændret til ”Hos X ved vi …”
  6. Man reparerer ikke et problem! ”… diagnosticere og reparere en bred vifte af problemer …” Man diagnosticerer problemet og reparerer derefter enheden. Jeg har flere steder ændret til ”Vores team af erfarne teknikere er specialiseret i at diagnosticere en bred vifte af problemer, der kan påvirke turntables. Når vi har stillet diagnosen, kan vi typisk også reparere enheden.”
  7. Det ville vi aldrig sige på dansk: ”Er alle typer DJ-effektenheder reparerbare?” Jeg har ændret til: ”Kan alle DJ-effektenheder repareres?”
  8. Hvad er egentlig et engagerende lydbillede? Dynamisk kan jeg forstå, men ”engagerende lydbillede”? ”For DJ’s er effektenheder essentielle for at skabe et dynamisk og engagerende lydbillede.” Jeg har ikke ændret på det, for jeg har ikke forstand på musik. Men det ligner ChatGPT-snik-snak.
  9. Dette er virkelig “floromvundet”: “Hos X er vi stolte af vores evne til at tilbyde professionelle reparationer.”. Jeg har ændret til :”Hos X er vi stolte af at tilbyde professionelle reparationer.” Der står nøjagtig det samme, men lirum-larum er fjernet.
  10. Vi ville heller aldrig sige: ”… fulde udvalg af tjenester og ekspertise i DJ-udstyrsreparationer”. Har ændret til ”… fulde udvalg af tjenester og ekspertise i at reparere DJ-udstyr.”. Pas på verbalsubstantiverne for ChatGPT elsker dem. Et verbalsubstantiv er: Man tager et verbum/udsagnsord og via diverse finurligheder, gør man dem i stedet til substantiver/navneord. Her var det ”at reparere”, der blev til ”en reparation”.

 

 

 

,

Diagrammer og VBA-koder styrer slægtsdata

Diagrammer og VBA-koder styrer slægtsdata

Lav diagrammer med ChatGPT

Diagrammer og VBA-koder styrer slægtsdata

Advarsel: Denne artikel er endog meget “nørdet”.

Jeg rydder stadig op i slægtsdata – og jeg er stadig fascineret af ChatGPT. I går blev jeg opmærksom på, at der findes mange gratis tilføjelsesprogrammer (plug-ins) til ChatGPT, og jeg installerede “Diagrams: Show Me”.

Lige nu har jeg den betalte version af ChatGPT, dvs. version 4. Om tilføjelsesprogrammerne også findes til ChatGPT version 3.5, er jeg ikke klar over.

For at styre oprydningen har jeg lavet en Excelfil.

Billederne i denne artikel er svære at se, med mindre du vha. CTRL + zoomer ind med din browser.

Diagrammer og VBA-koder styrer slægtsdata

Og for at finde på en både sjov og nyttig anvendelse af “Diagrams: Show Me”, besluttede jeg at bede ChatGPT lave et diagram over den samlede proces fra data i Legacy til markering af direkte aner i Excelfilen.

  • Måske kan du bruge nogle af ideerne og koderne?
  • Måske får du mod på selv at lege med ChatGPT?

Der er stort set intet af alt det nedenstående, jeg har lavet selv, for jeg kan ikke kode. ChatGPT har gjort det for mig, og jeg har bygget det op over et par måneder, når jeg har fået en ny idé til noget, der kunne være dejligt at få med. Læg mærke til, at ChatGPT er dygtig til at indsætte forklarende kommentarer i VBA-koden. Kommentarerne er de linjer, der starter med en “pling” – dvs. et enkelt anførselstegn: ‘

Det virkelig interessante er, at man kan skrive til ChatGPT, som var den et menneske. Man behøver ikke kende de rigtige termer, som man ville skulle, hvis man ville opbygge det ved at søge med Google. Hvis jeg var Google, ville jeg ryste i bukserne af skræk. De har lavet deres egen Artificial Intelligence-model (AI-model), som kaldes “Gemini”, men af forskellige årsager, vil det vare flere år, før den kommer til Europa. Så vidt jeg husker, skyldes det noget med “Gætte-Per” (GDPR).

Med Gemini sætter Google nu stort ind på at vippe ChatGPT, som indtil videre er førende inden for sprogmodeller, af pinden. Chatbotten, der er udviklet af firmaet Open Ai, fik på blot to måneder 100 millioner brugere, og slog dermed rekorden for flest nye brugere på kortest tid.

Kilde: dr.dk, 7. december 2023

Det får du retur

Du får et meget flot diagram og en beskrivelse af diagrammet med menneskeord.

Jeg synes, der mangler nogle trin i forhold til det, jeg bad om (se nederste afsnit “Her er hvad jeg skrev til ChatGPT”). Det skyldes formentlig, at jeg ikke har været tydelig nok i min beskrivelse. Det er jo trods alt bare en robot – og den kan ikke levere noget retur, som den ikke har fået input om. Det kan kun mennesker tænke sig til. Men det er jo nemt at øve sig i at blive mere tydelig i sin “kravspecifikation” og så simpelthen bare spørge en gang mere.

Menneskeordene følger her

sequenceDiagram
participant Legacy as “Legacy Software”
participant CSV as “CSV File (DirekteAner-2.csv)”
participant VBA as “VBA Macro (SplitNames)”
participant Excel as “Excel File (Gennemgang af slægtsfil.xlsm)”
participant Macro as “VBA Macro (MatchAndHighlight)”

Legacy->>CSV: 1) Start Legacy
Legacy->>CSV: 2) Vælg Fokusgruppe
Legacy->>CSV: 3) Søg, Forskelligt, Fokusgruppe
Legacy->>CSV: 4) Vælg ‘Aner’ i direkte linje
Legacy->>CSV: 5) Lav liste over direkte aner
Legacy->>CSV: 6) Vælg ‘Udskriv’
Legacy->>CSV: 7) Vælg ‘Kommasepareret fil’
Legacy->>CSV: 8) Klik ‘Opret’
Legacy->>CSV: 9) Gem som ‘DirekteAner-2.csv’

CSV->>VBA: Importer til Excel
VBA->>Excel: Kør ‘SplitNames’ makro
Excel->>VBA: Opdel navne i felter

VBA->>Excel: Kopier data til ‘Gennemgang af slægtsfil.xlsm’
Excel->>Macro: Placer data i kolonner B, C, D
Macro->>Excel: Kør ‘MatchAndHighlight’ makro
Excel->>Macro: Farv direkte aner gule
Macro->>Excel: Markér direkte aner med ‘Ja’

Her kommer diagrammet

Diagrammer og VBA-koder styrer slægtsdata

Her er hvad jeg skrev til ChatGPT

Jeg har fået fortalt af en ven, at det kan betale sig at “tale pænt” til robotten, så det gør jeg. Og jeg må sige, at jeg altid får pæne svar retur.

“Hej igen

Du er så dygtig til at lave diagrammer. Kan du lave et diagram over nedenstående? Jeg er i tvivl om, hvilken diagramtype, der er bedst, men jeg tror, at et procesdiagram vil være mest velegnet. Er du enig?

Diagrammet skal starte med følgende, som ikke står i VBA-koden, da det er fra et andet program, der hedder Legacy, som er et program til slægtsforskning.

1) Start Legacy
2) Vælg en “Fokusgruppe”, der rummer direkte aner
3) Det kan du gøre sådan:
3a) Søg
3b) Forskelligt
3c) Fokusgruppe
3d) Klik på knappen “Fokusgruppe” og i vinduet der, klikkes på knappen “Tilføj en person og aner”.
4) Der skal du så kun have markeret “Aner” i direkte linje (fjern eventuelle flueben nedenfor).
5) Nu har du lavet Fokusgruppen og kan klikke på knappen nederst “Lav liste”. Så har du en liste over de direkte aner
6) Vælg “Udskriv”
7) Sæt mærke i “Kommasepareret fil”
8) Klik “Opret”
9) Gem filen med navnet “DirekteAner-2.csv” (den kan selvfølgelig hedde alt muligt andet – så skal du bare selv konsekvensrette nede i makroens linje, hvor der står: Set ws = ThisWorkbook.Worksheets(“DirekteAner-2”)

Det første vi skal gøre med filen er at køre makroen “SplitNames”. Den sørger for at RIN-nr (Legacys ID-nr.), for- og mellemnavne og så efternavne står pænt i hvert sit felt, idet Legacy skriver det hele i ét felt, fx “1,Stegemüller, Hanne B.”. Det kan vi ikke bruge.
Koden er:

Option Explicit

Sub SplitNames()
Application.ScreenUpdating = True
Dim ws As Worksheet
Dim LastRow As Long
Dim i As Long
Dim ID As String
Dim FirstName As String
Dim LastName As String
Dim SplitEntry() As String
Dim Names As String

' Definer hvilket regneark du arbejder med
Set ws = ThisWorkbook.Worksheets("DirekteAner-2")

' Find sidste række med data i kolonne A
LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

' Gennemgå alle rækker med data
For i = 1 To LastRow
' Først, rens cellen for anførselstegn
ws.Cells(i, "A").Value = Replace(ws.Cells(i, "A").Value, """", "")
' Split ID og navne-delen på komma
SplitEntry = Split(ws.Cells(i, "A"), ",", 2) ' Splitter kun ved det første komma

' Sørg for at der er et element at tildele til ID
If UBound(SplitEntry) >= 0 Then
ID = Trim(SplitEntry(0)) ' ID er altid til stede før det første komma
Else
ID = ""
End If

' Tjek om der er yderligere oplysninger udover ID
If UBound(SplitEntry) >= 1 Then
' Der er mere end bare et ID
Names = Trim(SplitEntry(1))
' Find sidste komma, som adskiller efternavn og fornavn
Dim LastComma As Integer
LastComma = InStrRev(Names, ",")
If LastComma > 0 Then
FirstName = Trim(Mid(Names, LastComma + 1))
LastName = Trim(Left(Names, LastComma - 1))
Else
' Hvis der ikke er et komma, antager vi at hele strengen er fornavnet
FirstName = Names
LastName = ""
End If
Else
' Hvis der ikke er yderligere information, er navnefelterne tomme
FirstName = ""
LastName = ""
End If

' Placer værdier i de ønskede celler
ws.Cells(i, "B").Value = ID
ws.Cells(i, "C").Value = FirstName
ws.Cells(i, "D").Value = LastName

' Tilføj dette for at se værdierne i det umiddelbare vindue
Debug.Print "Row: " & i & "; ID: " & ID & "; FirstName: " & FirstName & "; LastName: " & LastName
Next i

MsgBox "Navneopdeling fuldført!"
End Sub

Når navneopdelingen er fuldført, står data pænt i det rigtige felter. De skal kopieres ind i den anden fil, hvor du holder øje med, hvor langt du er nået med din gennemgang af slægtsdata. Den anden fil har jeg kaldt for “Gennemgang af slægtsfil.xlsm”. Det er vigtigt, at filen gemmes som typen .xlsm, for eller kan den ikke rumme makroen.

I “Gennemgang af slægtsfil.xlsm” skal du gøre følgende:

Placer data fra “DirekteAner-2” i kolonnerne B (ID-nummeret), C (for og mellemnavne) og D (Efternavn(e)).

I kolonne A skriver du bare ordet “Ja” foran alle navnene.

Kolonne E skal være tom for at skabe lidt overblik.
Kolonne F skal rumme Fornavn(e)
Kolonne G skal rumme Efternavn(e)
Kolonne H skal rumme RIN-nr., dvs. Legacys ID-nummer
Kolonne I skal rumme ordet “Ja”, hvis det er en direkte ane.

Er det ikke en direkte ane, skal du selv udfylde felterne F, G og H

Er det en direkte ane, skriver du ID-nummeret i kolonne H og kører makroen herunder. Den henter data fra kolonnerne A, B, C og D og farver felterne F, G, H og I gule, så det er nemt at se, at dette er en direkte ane.

Her er makroen, du skal køre – bemærk at fanen skal hedde “Ark1”.
Du kan kalde fanen noget andet, men så skal du konsekvensrette i koden, hvor der står “Set ws = ThisWorkbook.Worksheets(“Ark1″)”:

Sub MatchAndHighlight()

Dim ws As Worksheet
Dim rngToSearch As Range, rngToMatch As Range
Dim cell As Range, matchCell As Range
Dim matchFound As Boolean
Dim lastRow As Long

' Sæt arbejdsark
Set ws = ThisWorkbook.Worksheets("Ark1")

' Definer områderne for matchning
Set rngToSearch = ws.Range("H2:H" & ws.Cells(ws.Rows.Count, "H").End(xlUp).Row)
Set rngToMatch = ws.Range("B2:B" & ws.Cells(ws.Rows.Count, "B").End(xlUp).Row)

' Nulstil farvning og "Ja"
lastRow = ws.Cells(ws.Rows.Count, "I").End(xlUp).Row
ws.Range("F2:I" & lastRow).Interior.Color = xlNone
ws.Range("I2:I" & lastRow).Value = ""

' Loop igennem hver celle i rngToSearch for at finde match i rngToMatch
For Each cell In rngToSearch
matchFound = False
If cell.Value <> "" Then
For Each matchCell In rngToMatch
If cell.Value = matchCell.Value Then
ws.Range("F" & cell.Row & ":I" & cell.Row).Interior.Color = vbYellow
ws.Cells(cell.Row, "I").Value = "Ja"
ws.Cells(cell.Row, "F").Value = ws.Cells(matchCell.Row, "C").Value ' Kopier fornavn
ws.Cells(cell.Row, "G").Value = ws.Cells(matchCell.Row, "D").Value ' Kopier efternavn
matchFound = True
Exit For
End If
Next matchCell

If Not matchFound Then
ws.Cells(cell.Row, "I").Value = ""
ws.Range("F" & cell.Row & ":I" & cell.Row).Interior.Color = xlNone
End If
End If
Next cell

MsgBox "Matchning fuldført!"

End Sub"

 


Har du kommentarer til artiklen?

Så er jeg glad for at modtage dem i relation til artiklen, dvs. i artiklens kommentarfelt herunder, ikke på Facebook og ikke via Messenger. Jeg svarer dig også relation til artiklen, ikke på Facebook og ikke via Messenger. Det skyldes, at kommentarer og artiklen jo ellers dekobles, og så er din kommentar ikke noget værd i fremtiden. Det er ærgerligt for os begge.

Hvis du ikke tidligere har kommenteret en af mine artikler her på siden, skal din kommentar først godkendes (spamhensyn). Min responstid er under normale omstændigheder meget kort. Herefter vil du stryge lige igennem.