Avatar billede TUFexcel Juniormester
12. juni 2010 - 12:35 Der er 12 kommentarer og
1 løsning

Opdatering af aktiekurser

Hej

Jeg har importeret en aktiekursliste til Excel.

For at kunne se udviklingen i løbet af dagen, kunne jeg godt tænke mig at jeg kan gemme opdateringerne, der kommer hver hele time, så jeg sidst på dagen har en liste over forløbet.

Er der ved hvordan man gør det. Skal man evt. ud i noget VBA kodning? Eller er det bare hvordan man indstiller importen?

PÅ forhånd tak.
Avatar billede janus Nybegynder
13. juni 2010 - 18:30 #1
så vidt jeg forstår er dit ønskede resultat en XLS fil med aktiekurser for hele dagen for en række aktier.

hvis jeg skulle udvikle dette ville jeg nok undgå at beskæftige mig direkte med excel, men i stedet f.eks. skrive en perl-script som kører hele dagen. der findes moduler til perl som gør det nemt at skrive til xls filer som excel kan åbne.
Avatar billede janus Nybegynder
13. juni 2010 - 18:32 #2
for at svare lidt mere direkte på dit spørgsmål: så vidt jeg ved er excel ikke designet til at du simpelthen laver små applikationer i dine xls dokumenter. grunden til at du kan lave vba makroer er for at køre små stykker kode som integrerer godt med tabel-modellen.

det du prøver at gøre har egentligt ikke så meget med excel at gøre. du vil bare gerne have outputtet i excel. dette er ikke så svært at få, det mest besværlige er mere at hente alle data og formatere dem korrekt.
Avatar billede newbieatphp Nybegynder
14. juni 2010 - 12:18 #3
Jeg har kigget lidt på det .. og har lavet noget, hvor den selv henter aktiekurser fra en bestemt hjemmeside på nogle bestemte aktier.

Udfor hver aktie bliver der gemt kursen, og der bliver noteret hvornår opdateringen er lavet i eget excel-ark.

Hvis det er noget du vil prøve at se, så kan du smide en postbesked til mig, hvor jeg skal mail den til - også kan du se om det var sådan noget du havde i planerne ..
Avatar billede TUFexcel Juniormester
14. juni 2010 - 13:21 #4
Tak for indlæggene:

Til Bo

Det lyder lidt svært tilgængeligt, det du forklarer.Det er ikke besværligt at hente data som sådan. Det jeg gør er- i al sin enkelthed- Klikke Data/fra internettet. Derefter skriver jeg webadressen på udbyderen af kurslister. logger ind og importere listen til et excel ark. Jeg kan vælge at få den opdateret så tit jeg ønsker. Problemet er at hver gang den opdatere, så forsvinder de sidste kurser. Tanken var så at man kunne køre en kode så hvergang der bliver opdateret vil den tag tallene og lægge dem tilside.
Det er nok det du er inde på når du skriver om et perl-script.
Jeg ved ikke hvad det er. Er det noget man lære om eller eventuelt downloade en kode eller lignende?

Til newbieatphp

Det kunne være spændende at se hvad du fundet. Jeg lægger lige en besked i din postboks

Venlig hilsen TUFexcel
Avatar billede newbieatphp Nybegynder
14. juni 2010 - 13:30 #5
Jeg har sendt en mail til dig ... :)
Avatar billede janus Nybegynder
14. juni 2010 - 13:56 #6
perl er bare et scriptingsprog som kan bruges til alt muligt.

du siger at det ikke er besværligt at få dataen ned. jeg troede problemet var at du gerne vil have det automatiseret? det er vel ikke meningen at du manuelt skal gøre noget hvis denne løsning skal virke som forventet.

du kan se nogle eksempler hvor de bruger præcis perl til at håndtere aktier her:
http://articles.techrepublic.com.com/5100-10878_11-5244762.html
http://lionel.textmalaysia.com/how-i-wrote-my-stock-scanner-with-perl-part-1.html
Avatar billede TUFexcel Juniormester
14. juni 2010 - 17:23 #7
Hej bo

Det eneste jeg skal gøre manuelt er at logge mig på, når dagen starter, og så lade excel arket og internettet være åbent og tændt.
Jeg har kigget på de artikler som du har sendt. Det ser spændende ud, men også svært. Den anden artikel ser ud til at omhandle historiske data, hvad det jo ikke er(kun for samme dag)

Jeg har fået tilsendt en kode af newbieatph, som er næsten perfekt, blot ser det ud til at man manuelt skal trykke på en knap for at få arket opdateret. Men du er inde på noget af det helt rigtig, idet tabellen bliver længere for hver gang der bliver opdateret.
Jeg sender dig en mail med et eksempel ark.

Igen tak til jer begge.
Avatar billede hubertus Seniormester
14. juni 2010 - 21:20 #8
Må vi andre se koden - har nemlig selv syslet lidt med aktiekurser. :0))
Avatar billede newbieatphp Nybegynder
15. juni 2010 - 00:01 #9
Jeps... du kan evt. skrive en post besked til mig med mailadresse, så skal du få det jeg har lavet i første omgang...

Ellers hvis du venter til jeg har gjort det helt færdigt, så smider jeg kode op, når TUFexcel har "godkendt" at det virker for ham. :)
Avatar billede newbieatphp Nybegynder
15. juni 2010 - 00:57 #10
Jeg har netop lige sent et nyt forslag til spørger - afventer bedømmelsen :)
Avatar billede TUFexcel Juniormester
15. juni 2010 - 10:16 #11
DET ER GENIALT DET DER!

Jamen det virker jo bare helt perfekt.
Til andre der vil bruge koden, skal i først Klikke Data/Fra internettet, derefter skrive webadressen på udbyderen af aktiekurser. Nogle skal man betale for, men så har man også adgang til realtidskurser. dette kræver dog en pinkode for at logge ind. Derefter importeres listen til et ark og en celle. Ved denne kode der vises her, Skal arkene omdøbes til DataKurs og AktieKurser-ellers virker det ikke. I ark DataKurs kan man højreklikke og vælge egenskaber for data område, og indstille efter hvor tit man ønsker listen opdateret. Kopier koden herunder og sæt ind under VBA makroer, derefter kører det.

Tak til bo, som var ind over med gode input. Pointene må dog ubeskåret gå til newbieatphp, der ramte en ellers drilsk bold helt rent. 

Ja, så er der jo bare tilbage at du, newbieatphp sender mig et svar, så kan der komme nogle point ind på kontoen for veludført arbejde!

Her er koden:

Sub OpdaterKurs()
' gør plads til at indsætte ny kurs
    Sheets("Aktiekurser").Select
    Columns("B:B").Select
    Selection.Insert shift:=xlToRight

' Indsætter dato og klokkeslæt for ny kurs
    Sheets("Aktiekurser").Select
    Range("A1").Select
    Selection.Copy
    Range("B2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

' Indsætter den nye kurs
    Sheets("DataKurs").Select
    Range("D1:D21").Select
    Selection.Copy
    Sheets("Aktiekurser").Select
    Range("B3").Select
    ActiveSheet.Paste
    Range("B2").Select
    Sheets("Aktiekurser").Select
   
End Sub
Avatar billede newbieatphp Nybegynder
15. juni 2010 - 11:41 #12
Vil lige tilføje, at der under arket "DataKurs" er skrevet følgende kode til at køre makroen, når der blot bliver lavet en ændring i en celle i arket "DataKurs"

Private Sub Worksheet_Change(ByVal Target As Range)

    Call OpdaterKurs

End Sub
Avatar billede eenie Nybegynder
28. oktober 2010 - 16:24 #13
Interessant.. Det vil jeg da prøve at lege lidt med!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester