VBA voor excel

Status
Niet open voor verdere reacties.

rvdl67

Gebruiker
Lid geworden
12 apr 2016
Berichten
9
Beste mensen, ik heb hulp nodig met de VBA code in excel. Is er iemand die daarmee kan helpen? Mvrg Raymond

PS meer informatie volgt dan
 
Hallo Raymond,

Plaats die informatie er nu bij, dan zie je vanzelf of je bent/wordt geholpen.
 
Beste leden,
Ben dus op zoek naar een eenvoudige VBA code in excel die het volgende kan doen: data importeren uit www.Finviz.com. Dit is een stock screener, en hier kun je heel eenvoudig via filters de juiste stocks selecteren. Ik doe het nu handmatig, maar ik weet dat het ook via een VBA code kan.

Dit is wat ik zoek:

importeren van twee data stromingen;
- Huidige prijs
- Het huidige volume

de VBA code moet elke 3 minuten importeren/laden (omdat finviz.com elke 3 min de gegevens aanpast van de aandelenmarkt). De bedoeling is dus als er 1 kolom is met de prijs en volume en 1 kolom die de prijsverhoging en volumeverhoging kan laten zien met bijv. +3% (maar deze 3% als een variable in een box kan invoeren)

Er is een link naar een soort gelijke idee in VBA-excel op youtube: https://www.youtube.com/watch?v=OkHUGIsPuAc

Hoop dat het duidelijk is, anders hoor ik het wel. Bedankt voor uw aandacht en als iemand kan helpen dan graag, anders blijft het maar handmatig :(

Met vriendelijke groet,
Raymond
 
Laatst bewerkt:
Mogen we ook weten hoe jouw bestand eruit gaat zien? De gegevens die je wil loggen krijg ik gewoon van mijn broker te zien zonder dat er een andere applicatie tussen zit. In het voorbeeldje een willekeurig aandeel:d

Mijn advies: Doe het niet in Excel.
 

Bijlagen

Hoi VenA, zal een voorbeeld bestand toevoegen. Het gaat erom dat Excel laat zien dat bijvoorbeeld stock abc een +3% (of 4% of 5%) heeft gemaakt in de laatste 3 minuten, middels een refresh of auto-refresh.

Ben nu ook bezig om via PSQ() functie het e.e.a. te doen, maar kom daar niet verder mee.....

Vraagje: waarom niet in Excel? Mvrg Raymond

Bekijk bijlage finviz_test.xlsx
 
Waarom wil je deze flauwekul om de drie minuten hebben? Een seconde later kan het zeker met jouw vertraagde provider alweer drie minuten achter lopen. Hoewel het wel kan neem mijn advies aan: Doe het niet.:d
 
Het grote waarom is dat je er niets aan hebt. Als je niet rechtstreeks toegang hebt tot de data dan wordt het volgens mij niets anders dan per pagina de data binnen te halen. Bij 364 pagina's gaat dat wel even duren.

Code:
Sub VenA()
Application.ScreenUpdating = False
Sheets(2).Cells.Clear
With Sheets(1)
    .Cells.Clear
    For j = 1 To 364
        If j = 1 Then c00 = "ticker" Else c00 = "ticker&r=" & (j * 20) + 1
        .QueryTables.Add(Connection:="URL;http://www.finviz.com/screener.ashx?v=111&o=ticker" & c00, Destination:=.Range("$A$1")).Refresh BackgroundQuery:=False
        ar = .Range("A24:K43")
        ReDim ar1(1 To 20, 1 To 6)
            For jj = 1 To UBound(ar)
                If IsNumeric(ar(jj, 1)) And ar(jj, 1) <> "" Then
                    ar1(jj, 1) = ar(jj, 2)
                    ar1(jj, 2) = Replace(ar(jj, 9), ".", ",")
                    ar1(jj, 3) = Replace(ar(jj, 11), ",", "")
                    ar1(jj, 4) = Format(Now, "hh:mm:ss")
                    ar1(jj, 5) = Date
                    ar1(jj, 6) = ar(jj, 10)
                End If
            Next jj
        Sheets(2).Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(20, 6) = ar1
    Next j
End With
End Sub
 
Morgen ga ik een paid-account aanvragen en dan zou het toch te doen moeten zijn. In ieder geval komt er niets bij mij op het scherm, krijg een foutmelding "Fout 9" het subscript valt buiten het bereik. Enig idee?

Maar alvast bedankt. Groet Raymond
 
Hi V&A, kan ik je misschien een private message sturen of email? Gr Raymond

Het grote waarom is dat je er niets aan hebt. Als je niet rechtstreeks toegang hebt tot de data dan wordt het volgens mij niets anders dan per pagina de data binnen te halen. Bij 364 pagina's gaat dat wel even duren.

Code:
Sub VenA()
Application.ScreenUpdating = False
Sheets(2).Cells.Clear
With Sheets(1)
    .Cells.Clear
    For j = 1 To 364
        If j = 1 Then c00 = "ticker" Else c00 = "ticker&r=" & (j * 20) + 1
        .QueryTables.Add(Connection:="URL;http://www.finviz.com/screener.ashx?v=111&o=ticker" & c00, Destination:=.Range("$A$1")).Refresh BackgroundQuery:=False
        ar = .Range("A24:K43")
        ReDim ar1(1 To 20, 1 To 6)
            For jj = 1 To UBound(ar)
                If IsNumeric(ar(jj, 1)) And ar(jj, 1) <> "" Then
                    ar1(jj, 1) = ar(jj, 2)
                    ar1(jj, 2) = Replace(ar(jj, 9), ".", ",")
                    ar1(jj, 3) = Replace(ar(jj, 11), ",", "")
                    ar1(jj, 4) = Format(Now, "hh:mm:ss")
                    ar1(jj, 5) = Date
                    ar1(jj, 6) = ar(jj, 10)
                End If
            Next jj
        Sheets(2).Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(20, 6) = ar1
    Next j
End With
End Sub
 
Wil je svp niet onnodig quoten?

Als je mij de inloggegevens van het paid-account wil sturen dan wil ik wel even een mailadres geven:cool: Anders kan elke vraag gewoon via dit forum gesteld worden.
 
Alleen verenigingsleden en donateurs kunnen privé-berichten sturen. Mijn email adres is *knip* - als je een mail stuurt, dan geef ik je de inloggegevens.
 
Laatst bewerkt door een moderator:
Aan priveberichten of mail om vragen te beantwoorden doe ik niet. Omdat dit forum anders weinig nut heeft en omdat ik geen persoonlijke probleemoplosser wil zijn.
 
het gaat natuurlijk alleen om mijn inloggegevens, daar sprak je over in bericht #11, die wil ik echter niet voor iedereen zichtbaar maken.
 
Beste rvdl67,

Ik heb uw e-mail weggehaald uit uw bericht.
U kunt in uw profiel een e-mail adres toevoegen waar andere gebruikers dan naar kunnen mailen.

Ook is het niet slim uw wachtwoord en gebruikersnaam naar iemand te sturen over het internet. :D
 
e/m adres zit bij mijn instellingen, als je mij een mail stuurt, dan kan ik je de gegevens toesturen. Niemand heeft het hier gehad dat je een "persoonlijke probleemoplosser" moet zijn, dat lijkt me overbodig om te berichten :)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan