Avatar billede alen32 Nybegynder
19. marts 2006 - 10:56 Der er 21 kommentarer og
1 løsning

Makro til lottotal

Jeg har denne makro som imprterer lotto tal fra tips.dk hjemmeside. Men makroen importer kun draw=822. Jeg vil gerne have ændre makro så den kan importer draws fra 719 til 822 i kolonne A og starte med række 2.


Sub Lotto()
'
' Lotto Makro
' Makro indspillet 19-03-2006 af ghj
'

'
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://www.tips.dk/spil/lotto/indhold/resultater.php?draw=822", _
        Destination:=Range("A5"))
        .Name = "resultater.php?draw=820"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = "3"
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
End Sub
Avatar billede excelent Ekspert
19. marts 2006 - 11:25 #1
kan du ikke bare køre en ny web forespørgsel, finde det du søger
og så importere

kan gøres via menuen data/importer eksterne data/ny webforespørgsel

når du har gjort det med held, så starter du makro optager
og kører hele proceduren igen - så får du din vindertal-henter-makro
19. marts 2006 - 11:29 #2
kan man ikke også sætte tidsbestemt opdatering på sin query, således man slet ikke behøver en makro...
Avatar billede alen32 Nybegynder
19. marts 2006 - 11:32 #3
Jeg vil hente historiske data ind i excel dvs. alle udtrækninger fra 719 til 822.
Avatar billede excelent Ekspert
19. marts 2006 - 11:33 #4
har aldrig prøvet det før, men jeg tror du har ret flemming
en makro er måske ikke nødvendig, fordi man kan højreklikke
på cellen, og vælge rediger forespørgsel
gad vide om den ikke automatisk selv opdaterer
har ingen eraring med dette overhovedet
Avatar billede excelent Ekspert
19. marts 2006 - 11:36 #5
hvad med egenskaber for dataområde (fås ved højreklik på celle)

men først skal du jo finde de nye data du mangler
Avatar billede excelent Ekspert
19. marts 2006 - 11:40 #6
hvor finder man de udtrækninger (719-822) ?
19. marts 2006 - 11:43 #7
hvis i får lavet et godt eksempel, så smider jeg det gerne på min hjemmeside under tips og tricks/download - jeg skal i byen nu, men kan deltage i aften, hvis det ikke er lykkedes jer.
Avatar billede alen32 Nybegynder
19. marts 2006 - 11:43 #8
Hvis du i forespørgslen ændrer draw=822 til 821 så henter du lottotal fra 11.marts.2006
http://www.tips.dk/spil/lotto/indhold/resultater.php?draw=822",
Avatar billede excelent Ekspert
19. marts 2006 - 11:48 #9
hvis du kunne fotælle mig hvor jeg finder de data du søger, kan jeg
prøve at lave en import på det
Avatar billede alen32 Nybegynder
19. marts 2006 - 11:50 #10
du skal kigge på min makro:
Sub Lotto()
'
' Lotto Makro
' Makro indspillet 19-03-2006 af ghj
'

'
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://www.tips.dk/spil/lotto/indhold/resultater.php?draw=822", _
        Destination:=Range("A5"))
        .Name = "resultater.php?draw=820"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = "3"
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
End Sub
Avatar billede excelent Ekspert
19. marts 2006 - 11:57 #11
med denne rettelse hentes 719, og vises i celle A10 i dit ark

With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://www.tips.dk/spil/lotto/indhold/resultater.php?draw=822", _
        Destination:=Range("A10"))
        .Name = "resultater.php?draw=719"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = "3"
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
End Sub
Avatar billede alen32 Nybegynder
19. marts 2006 - 11:59 #12
ja men jeg vil hente alle fra 719 til 822 på en gang
Avatar billede excelent Ekspert
19. marts 2006 - 12:00 #13
man kan sikket lave en smart løkke som lister alle fra 719-822 i dit ark
men jeg skal ud at cykle nu, så prøv dig frem

prøv evt også den anvisning jeg skrev tidligere, det er faktisk let
at importere fra nettet via data/importer eksterne data/ny webforespørgsel.
Avatar billede alen32 Nybegynder
19. marts 2006 - 12:02 #14
jeg har lavet denne makro som henter data fra udtrækning 815 til 822, men problemmet er at resultater hentes i en række og jeg vil hente dem i en kolonne.
Private Sub CommandButton2_Click()
For data = 815 To 822

    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://www.tips.dk/spil/lotto/indhold/resultater.php?draw=" & data, _
        Destination:=Range("A:A"))
        .Name = "resultater.php?draw=" & data
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = "3"
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
   
    End With
   
    Next
End Sub
19. marts 2006 - 12:03 #15
Sub Lotto()
    Dim lRow As Long
    Dim lDraw As Long
   
    lRow = 5
    For lDraw = 719 To 822

        With ActiveSheet.QueryTables.Add(Connection:= _
            "URL;http://www.tips.dk/spil/lotto/indhold/resultater.php?draw=" & CStr(lDraw), _
            Destination:=Range("A" & CStr(lRow)))
            .Name = "resultater.php?draw=" & CStr(lDraw)
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .WebSelectionType = xlSpecifiedTables
            .WebFormatting = xlWebFormattingNone
            .WebTables = "3"
            .WebPreFormattedTextToColumns = True
            .WebConsecutiveDelimitersAsOne = True
            .WebSingleBlockTextImport = False
            .WebDisableDateRecognition = False
            .WebDisableRedirections = False
            .Refresh BackgroundQuery:=False
        End With
       
        lRow = lRow + 2
    Next lDraw
End Sub
Avatar billede excelent Ekspert
19. marts 2006 - 12:09 #16
sån ska det bare gøres flemming - well done
Avatar billede alen32 Nybegynder
19. marts 2006 - 12:11 #17
Ha-ha den kører bare derude. Takker mange gange. Kan du ikke forklare hvad "CStr" betyder.
19. marts 2006 - 12:13 #18
Convert to String - tryk F1 når din markør står over CStr
Avatar billede alen32 Nybegynder
19. marts 2006 - 12:23 #19
jeg har prøvet at importerer uden at hoppe en række over:
men hvis jeg ændrer  lRow = lRow + 2 til  lRow = lRow + 1 så bliver importen forskudt og det forstår jeg ikke.
19. marts 2006 - 19:37 #20
Jeg kan ikke helt huske hvorfor, men jeg mener det er noget med at query'en har første tomme række med. Du kan søge ekstra på nettet eller i hjælpen hvis du VIL vide.
Avatar billede gibber Nybegynder
25. marts 2006 - 15:33 #21
Et kort input her efter lukketid...

Tabellen som importeres indeholder en tom række i toppen derfor lRow = lRow +2.

Du kan evt. fjerne rækken efter import af hver udtrækning:

Sub Lotto()
    Dim lRow As Long
    Dim lDraw As Long
   
    lRow = 5
    For lDraw = 719 To 822

        With ActiveSheet.QueryTables.Add(Connection:= _
            "URL;http://www.tips.dk/spil/lotto/indhold/resultater.php?draw=" & CStr(lDraw), _
            Destination:=Range("A" & CStr(lRow)))
            .Name = "resultater.php?draw=" & CStr(lDraw)
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = False
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .WebSelectionType = xlSpecifiedTables
            .WebFormatting = xlWebFormattingNone
            .WebTables = "3"
            .WebPreFormattedTextToColumns = False
            .WebConsecutiveDelimitersAsOne = True
            .WebSingleBlockTextImport = False
            .WebDisableDateRecognition = False
            .WebDisableRedirections = False
            .Refresh BackgroundQuery:=False
        End With
       
        Range("A" & CStr(lRow)).EntireRow.Delete
        lRow = lRow + 1
    Next lDraw
   
End Sub
Avatar billede excelent Ekspert
25. marts 2006 - 16:11 #22
smart løsning gibber :-)
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
Kategori
Excel-kurser for alle niveauer og behov – find det kursus, der passer til dig

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