PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerVBAVBAInnertextInnertext
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2020-06-09 15:24
 
Hej. Har ett litet problem här med hämtning av data från en webbsida. Detta är den väsentliga del av koden. Problemet är att jag vill ha in 26 lag i cellerna A1:A13 (två lag i varje cell), men jag får in alla lag två gånger per cell istället så det slutar med i dubletter i A1:A26. Problemmet som ska försöka lösas är att det är samma classname med annorlunda innertext (lagens namn).
 
Dim HTMLDiv As MSHTML.IHTMLElement
Dim HTMLTable As MSHTML.IHTMLElementCollection
Dim HTMLTab As MSHTML.IHTMLElement
 
Set HTMLDiv = HTMLDoc.getElementById("gameinfowrapper")
Set HTMLTable = HTMLDoc.getElementsByClassName("teamname")
 
For Each HTMLTab In HTMLTable
With ActiveSheet
.Range("A" & i).Value = HTMLTab.innerText & " - " & HTMLTab.innerText
i = i + 1
End With
 
Next
 

 

Nytt inlägg
 2020-06-11 06:50
 

Hej hej

Nedan lösning borde funka. Skriver ut element 1 och 2, därefter 3 0 4, osv. Vill du istället slumpa ut lagen blir det lite lurigare ;)

Mvh

Christian

Dim HTMLDiv As MSHTML.IHTMLElement

Dim HTMLTable As MSHTML.IHTMLElementCollection
Dim HTMLTab As MSHTML.IHTMLElement
Dim Hometeam as string
 
Set HTMLDiv = HTMLDoc.getElementById("gameinfowrapper")
Set HTMLTable = HTMLDoc.getElementsByClassName("teamname")
 
For Each HTMLTab In HTMLTable
iF Hometeam = "" THEN 
         Hometeam = HTMLTab.innerText
Else
    With ActiveSheet
.Range("A" & i).Value = Hometeam & " - " & HTMLTab.innerText
         Hometeam = ""
         i = i + 1
    End With
End if
 
Next

 

Nytt inlägg
 2020-06-11 08:51
 

Fungerade perfekt!

Tackar så mycket!

 

Nytt inlägg
 2020-07-17 20:50
 

Hej igen!
Skulle behöva lite hjälp igen med ett liknande scenario. I koden nedan när den körs hamnar allt i kolumn A. Det kan vara upp till 100 rader. Det finns även upp till 8 st "V-Odds" som innertext. De ska inte synas vilket de heller inte gör enligt koden. Annars är det bara siffror där som indata till cellerna

Det jag skulle vilja göra är att utnyttja dessa "V-Odds" i koden. När dessa dyker upp i innertext vill jag skifta kolumn, då först ill kolumn B och då sen stanna kvar i kolumn B till nästa "V-Odds" dyker upp igen och då skifta till kolumn C. De dyker upp typ var 8-15 gång, däremmellan är det massa odds.

    For Each HTMLTable In HTMLTables
    
    If HTMLTable.innerText = "V-Odds" Then
    Cells(i + 1, 1).Value = ""
    
    Else
    Cells(i + 1, 1).Value = HTMLTable.innerText
 
    i = i + 1
    
    End If

 

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBAInnertextInnertext

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter