Avatar billede vegaz Juniormester
26. februar 2015 - 13:01 Der er 7 kommentarer og
1 løsning

Søg på CVR nr og hent data til Excel

Hej,

Jeg søger en makro der kan hente søge på et CVR nummer og så returnere firmanavn + adresse.

Lånt fra en anden post:


Sub Makro()
   
    Nr = Selection
    Fuldadresse = Selection.Address
    ActiveWorkbook.Worksheets.Add
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://www.allabolag.se/" & Nr & "" _
        , Destination:=Range("A1"))
        .Name = _
        "" & Nr & ""
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlEntirePage
        .WebFormatting = xlWebFormattingNone
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
    Navn = Range("A24").Value
    Adresse = Range("A25").Value & " " & Range("A26").Value
   
   
    Application.DisplayAlerts = False
    ActiveSheet.Delete
    Application.DisplayAlerts = True
   
    Range(Fuldadresse).Offset(0, 1).Select
    Range(Fuldadresse).Offset(1, 2).Value = Navn
    Range(Fuldadresse).Offset(1, 3).Value = Adresse
   
End Sub



Nå jeg vælger f.eks. at søge på 5568669039, så vil jeg gerne at den skal returnere navnet på firmaet: B.K.Å Försäljning AB og adressen: Marmorvägen 7, 153 92 Hölö

Lige nu er jeg fanget ved at den returnere "Befattningshavare" og "Verksamhet & Status Bokslut & Nyckeltal". Jeg går ud fra det er pga. name = nr, men jeg ikke hvad det skal rettes til.

Håber en kan hjælpe! Tak!
Avatar billede claes57 Ekspert
26. februar 2015 - 13:51 #1
kan du ikke debug / single-steppe igennem koden og så se hvor
Navn = Range("A24").Value
Adresse = Range("A25").Value & " " & Range("A26").Value
i virkeligeheden er - så ret A24, A25, A26 så det passer igen.
Avatar billede vegaz Juniormester
26. februar 2015 - 17:04 #2
Har prøvet det nu, kun at debugge begge linjer og også single, mens jeg havde markeret det CVR nr.
Navn = Range("A24").Value
Adresse = Range("A25").Value & " " & Range("A26").Value

Uanset, så skriver den alt ud fra denne side http://www.allabolag.se/5568669039/B_K_A_Forsaljning_AB


Nogen idé?
Avatar billede finb Ekspert
26. februar 2015 - 17:14 #3
Men tilbyder cvr ikke allerede denne mulighed ?
Avatar billede claes57 Ekspert
26. februar 2015 - 17:30 #4
de har måske lavet om på deres site, så de får solgt http://www.allabolag.se/webbservice ?
Avatar billede vegaz Juniormester
26. februar 2015 - 18:31 #5
Jeg er ikke sikker på CVR er det samme :) Det var blot for at forklare at de her numre er de svenske "CVR". Problemet er at jeg ikke rigtigt er interesseret i XML API :)

Jeg prøvede en anden løsning, som gik ind og hentede informationen fra de forskellige tables. Så fik jeg informationen fra tabellen i midten, altså den jeg skal bruge, men fik:

Ordinarie ledamot: Åström, Bengt Krister
Registreringsår: 2011

F-Skatt: Registrerad läs mer

Telefon: 0705-596969

ADRESS
MARMORVÄGEN 7
153 92 Hölö
Stockholms län
Visa på karta


Er det muligt at cutte i den info, så jeg kun får adressen osv. på samme linje: Marmorvägen 7, 153 92, Hölo?
Avatar billede claes57 Ekspert
26. februar 2015 - 19:39 #6
hvis du har teksten i en en tekststreng, så kan du søge efter ADRESS (gem hvor den slutter) og søge videre til län og så baglæns til linjeskift.
Så har du området med adressen (også hvis det er 1 eller 3 linjer). Lav en søg/erstat, og skift CrLf ud med ", " og så er det svaret.

Firmanavnet ligger i en tidligere tabel - du kan måske søge på
<span id="printTitle" class="reportTitleBig">B.K.Å Försäljning AB</span>
Avatar billede supertekst Ekspert
27. februar 2015 - 12:26 #7
Dim nr, navn As String, adresse As String
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    nr = Selection
   
    If Target <> "" Then
        Cancel = True
        hentNavnOgAdresse nr
        ActiveCell.Offset(0, 1) = navn
        ActiveCell.Offset(0, 2) = adresse
       
        ActiveSheet.Columns.AutoFit
    End If
End Sub
Private Sub hentNavnOgAdresse(nr)
    Application.ScreenUpdating = False
   
    ActiveWorkbook.Sheets(2).Activate
    ActiveSheet.Range("A1:G1000").Select
    Selection.Clear
   
   
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://www.allabolag.se/" & nr & "" _
        , Destination:=ActiveSheet.Range("A1"))
        .Name = _
        "" & nr & ""
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlEntirePage
        .WebFormatting = xlWebFormattingNone
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
   
    With ActiveSheet
        navn = .Range("A20").Value
        adresse = .Range("B73").Value & " " & .Range("B74").Value & " " & .Range("B75")
    End With
   
    ActiveWorkbook.Sheets(1).Activate
End Sub
Avatar billede supertekst Ekspert
27. februar 2015 - 12:54 #8
Din melding tyder på, at jeg godt kan lægge et svar.
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