02. april 2001 - 14:35Der er
15 kommentarer og 2 løsninger
gentagende indsættelse af data i xl fra emails
jeg er ved at afslutte min hovedopgave på markedsøkonom studiet og har i den forbindelse lagt et spørgeskema ud på nettet.
Jeg modtager alle svar pr email i nedenstående format og jeg vil gerne kunne importere dem i xl.
Problemet er at hvis jeg sætter data ind i xl på sædvanligvis får jeg også alle overskrifterne med (eks. navn:, kon:, osv). Nogen gange i samme kolonne andre gange i hver sin?
Videre er det også et problem at ikke alle emailsne har samme format, hvis svaren har udeladt et spørgsmål ”mangler” der en række når jeg sætter ind.
Ideelt ville jeg gerne have xl til at sætte det der står efter ”email:” i celle b2, efter ”navn:” i celle b3, efter ”kon: i celle b4 og så fremdeles.
Hvis der er nogen der kender en ”smart” måde at gøre dette på ville jeg blive glad.
Mvh Peter Christiansen
Below is the result of your feedback form. It was submitted by (brilleabe@hotmail.com) on Monday, April 2, 2001 at 13:57:53 ---------------------------------------------------------------------------
Kommunerne har digitaliseret indgangen for borgerne. Men bag skærmen håndteres mange arbejdsgange stadig manuelt mellem systemer, mails og organisatoriske siloer.
Hvis data står i samme kolonne kan det løses ved at gå ind i menuen under DATA -> TEKST TIL KOLONNER og vælge kolon som separator. Derved får du delt dine data i to kolonner.
Efter at have brugt formlen, så kan du markerer området og kopier det. Højreklikke på området og vælge INDSÆT SPECIEL sætte V udfor VÆRDIER og klik OK - herefter er formlen omsat til værdier.
Hele denne procedure kan laves som en makro, som du kan afspille hver gang du har kopieret en mail ind i dit regneark.
>> jan og flemming jeg har sendt et ark til jer begge to. Det indeholder kun kolonne overskrifter og række nummre, så der er ikke så meget at se endnu... jeg bruger outlook til at hente post med og jeg har også vedlagt en kopi af en af de mails jeg får som svar - pricis som de ser ud. Så kan det være at i kan få en bedere ide om hvad det egentlig er jeg ønsker. jeg regner ikke med at få mere end 2-300 svar via nettet. Det er så meningen at jeg senere vil kopiere alle mine svar fra nettet over i et større ark der indeholder manuelt indtastede data fra 300 personer. Det er dette større ark der indeholder alle mine krydstabuleringer og beregninger, men det er jo en helt anden sag.
En anden indgangsvinkel vil være at gå tilbage til din hjemmeside og tilrette dine form-elementer så de bliver medsendt i mailen uanset at de er tomme! På den måde vil du få samme format på alle dine mails. Ideen kan selvfølgelig ikke bruges, hvis du allerede HAR fået dine svar.
Til andre interesserede kan jeg kort forklare, hvordan opgaven blev løst:
De rå mail-data kopieres over i Excel i underarket \"Rå\". Her kan man formatere dem, evt. med \"tekst til kolonner\" Man behøver ikke spekulere på at der er nogen ekstra tomme linier eller der mangler nogle svar.
I et andet ark \"filter\" er der en korrekt liste, som v.h.a. en udvidet opslagsformel automatisk henter data fra \"rå\"-arket.
Herefter skal hvert spørgeskema flyttes om i et \"hovedark\" eller database, hvor alle data er samlet. Eneste problem er, at data her skal ligge vandret, hvor de jo står lodret (se ovennævnte eksempel) i \"filter\"-arket. Dette problem er løst v.h.a. en makro, som er bygget op v.h.a. INDSÆT SPECIEL - VÆRDIER OG TRANSPONER. Makroen sørger også for, at finde den næste tomme række i \"hovedarket\" inden den lægger data ind, og sletter derefter alle data i \"rå\"-arket, så man er klar til et nyt spørgeskema.
Man skal vist være Excel-vant for at kunne følge forklaringen, men det virker ihvertfald efter hensigten.
Jeg har grebet det lidt anderledes an - med lidt mindre manuelt arbejde.
Mailen kopieres ind i det ene ark (her NyEmail), med det krav, at linien med email står i celle A2, hvor efter makro\'en skal startes.
Først opdeles f.eks. linie email: f@f.dk, således der står email i kolonne B og f@f.dk i kolonne C
Herefter findes næste ledige linie i det samlede ark (her SvarOversigt), så løbes kolonne B igennem i NyEmail, og de elementer som findes i den indkopierede mail smides om på den nye linie i SvarOversigten.
Underligt at den ikke virkede hos brilleaben - den kører rigtig hurtigt her hos mig - men OK.
Sub SvarTilStatistik() Dim rCell As Range Dim iRow As Integer, iNextRow As Integer Dim wsSvar As Worksheet: Set wsSvar = Worksheets(\"SvarOversigt\") Dim wsEmail As Worksheet: Set wsEmail = Worksheets(\"NyEmail\")
If Left(wsEmail.Range(\"A2\"), 5) = \"email\" Then For Each rCell In wsEmail.Range(\"A2:A100\") If rCell = \"\" And rCell.Offset(1, 0) = \"\" And rCell.Offset(2, 0) = \"\" Then Exit For If rCell <> \"\" Then rCell.Offset(0, 1).FormulaR1C1 = \"=LEFT(RC[-1],FIND(\"\":\"\",RC[-1],1)-1)\" rCell.Offset(0, 2).FormulaR1C1 = _ \"=MID(RC[-2],FIND(\"\":\"\",RC[-2],1)+2,LEN(RC[-2])-(FIND(\"\":\"\",RC[-2],1)+1))\" iRow = rCell.Row End If Next rCell
\'Indsætter værdier i svar-arket For Each rCell In wsEmail.Range(\"B2:B100\") If rCell = \"\" And rCell.Offset(1, 0) = \"\" And rCell.Offset(2, 0) = \"\" Then Exit For Select Case rCell Case \"email\" wsSvar.Range(\"B\" & iNextRow) = rCell.Offset(0, 1) Case \"navn\" wsSvar.Range(\"C\" & iNextRow) = rCell.Offset(0, 1) Case \"kon\" wsSvar.Range(\"D\" & iNextRow) = rCell.Offset(0, 1) Case \"alder\" wsSvar.Range(\"E\" & iNextRow) = rCell.Offset(0, 1) Case \"antal-emailadresser\" wsSvar.Range(\"F\" & iNextRow) = rCell.Offset(0, 1) Case \"irritation\" wsSvar.Range(\"G\" & iNextRow) = rCell.Offset(0, 1) Case \"primemailadress\" wsSvar.Range(\"H\" & iNextRow) = rCell.Offset(0, 1) Case \"har-domain\" wsSvar.Range(\"I\" & iNextRow) = rCell.Offset(0, 1) Case \"hvis-ja-reference\" wsSvar.Range(\"J\" & iNextRow) = rCell.Offset(0, 1) Case \"searchword1\" wsSvar.Range(\"K\" & iNextRow) = rCell.Offset(0, 1) Case \"searchword2\" wsSvar.Range(\"L\" & iNextRow) = rCell.Offset(0, 1) Case \"searchword3\" wsSvar.Range(\"M\" & iNextRow) = rCell.Offset(0, 1) Case \"searchword4\" wsSvar.Range(\"N\" & iNextRow) = rCell.Offset(0, 1) Case \"searchword5\" wsSvar.Range(\"O\" & iNextRow) = rCell.Offset(0, 1) Case \"searchword6\" wsSvar.Range(\"P\" & iNextRow) = rCell.Offset(0, 1) Case \"oprettelsespris\" wsSvar.Range(\"Q\" & iNextRow) = rCell.Offset(0, 1) Case \"afgift\" wsSvar.Range(\"R\" & iNextRow) = rCell.Offset(0, 1) Case \"inden2aar\" wsSvar.Range(\"S\" & iNextRow) = rCell.Offset(0, 1) Case \"for dyrt\" wsSvar.Range(\"T\" & iNextRow) = rCell.Offset(0, 1) End Select Next rCell
End If
End Sub
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.