1

Export dát z Webového reportu do Excelu

Dobrý deň
Potrebujem importovať dáta z Webového reportu do Excelu a zatiaľ to neviem robiť inou formou ako CTRL+C a CTRL+V..
Naimportované dáta sa však netvária ako čísla a neviem s nimi ďalej pracovať.
Skúšal som použiť Funkciu TRIM a VALUE ale nepomohlo.
Vie niekto poradiť?
Ďakujem
Dúfam že neduplikujem tému..
Usporiadat
Pidgey Pidgey

Pidgey je offline (nepripojený) Pidgey

Štastný človek :)
Pochváliť
ja som dal nahradit vsetky medzeri nicim, a dal previest na cislo - nepomohlo - lebo za tymi cislami je este nieco ako tabulator, teda nie je to medzera a nebolo to vidiet. skopiroval som teda za jednym cislom to prazdne, dal Ctrl C a dal nahradit opat za nic a uz mi to potom bralo hodnoty ako cisla.ale prides aj o medzeri v popisoch...
1 0
sances sances

sances je offline (nepripojený) sances

Pochváliť
Ďakujem,pomohlo, medzery v popiskoch ma veľmi netrápia, dáta ďalej kopírujem a ščítavam.Rozmýšľam teraz ako to zahrnúť do makra
V jednoduchosti je sila.. Myslel som že TRIM nefunguje lebo je určený pre text ale on asi nefungoval lebo nešlo o medzery.
0 0
Pidgey Pidgey

Pidgey je offline (nepripojený) Pidgey

Štastný človek :)
Pochváliť
Sub prevod_na_cislo()
'
' prevod_na_cislo Makro
'
' Klávesová zkratka: Ctrl+q
'
Cells.Select
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.Select
Selection.Replace What:="*", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub


ja s makrami moc nerobim (cca vobec), jedine co som sa kedysi nauzil je zaznam makra, cize som spustil zaznam noveho makra, a potom som postupne urobil vsetky kroky - vybral vsetko, nahradil medzeri, vybral vsetko a dal nahradit ten znak (mal som ho skopirovany v pamati), a ulozil, a uz to islo . neviem ci je to uplne koser,ale funguje to

doplnam, teraz som sa pozeral co sa mi sem skopirovalo, tak to nie je to co vidim v mojom makre, v druhom nahradzani nema byt "*" ale ten prazdny znak. ak by to neslo, mozem to sem skopirovat do txt a prilozit...
1 0
PaloPa PaloPa

PaloPa je offline (nepripojený) PaloPa

Pochváliť
Import_Number_separator.GIF  
Iba krátky tip. Pri importe dát z externých zdrojov (napr. txt, csv ...) sa dá hneď pri importe zadefinovať,
ako má Excel narábať s položkami, ktoré sú čísla.

Krátky opis, ako to funguje pre Excel 2003 (analogicky i pre 2007 a 2010):
1) klasický postup pre import: Údaje / Import externých údajov...
2) "vyklikať" podrobnosti importu, napr.:
- oddeľovač bodkočiarka,
- označenie stĺpcov, ktoré sú textové, ktoré dátumové ...
- TIP 1: označiť viac stĺpcov rovnakého typu (napr.text) - klik na Prvý – stlačiť a podržať SHIFT – klik na Posledný
- TIP 2: !!! čísla nechať typu "General" a ak sú v zdrojovom súbore des. bodky ale v Exceli fungujú des. čiarky,
nastaviť Decimal Separator – bodku (tlačidlo Advanced) - (to je riešenie pracného prehadzovania na čísla po importe)

Ak sa to spojí i so zaznamenaním makra, dá sa to pekne zautomatizovať.

Podrobný postup tu:
Excel - automatizácia importu csv súborov
Excel, makro - import údajov

Palo

Ešte jedna rada. Ak sú však k dispozícii už len naimportované údaje, potom klasicky: označiť oblasť s údajmi, Hľadať + Nahradiť (CTRL+H)
POZOR: Niektoré systémy (napr. Navision) generujú čísla, kde znak medzi stovkami a tisíckami vyzerá ako medzera, ale je to iný znak (cez klávesnicu ALT+0160).
To je presne prípad pripojeného vzorového XLS.

Vzorové makierko pre konverziu na číslo i s pridaním formátu čísla (v tomto prípade €)
Code:
    Sub EuroFormat()
    Dim x As String, xTxt As String, xRng As Range, c As Range

    Set xRng = Selection

    For Each c In xRng
        If c.HasFormula = False Then
            x = Trim(CStr(c.Value))
            If InStr(1, x, Chr(160)) > 0 Then x = Replace(x, Chr(160), "", 1, -1, 1) 'ina medzera (ALT+0160)
            If InStr(1, x, " ") > 0 Then x = Replace(x, " ", "", 1, -1, 1)
            'If InStr(1, x, ",") > 0 Then x = Replace(x, ",", "", 1, -1, 1) 'ak je oddelovač tisícov čiarka
           
            If InStr(1, x, ".") > 0 Then x = Replace(x, ".", ",", 1, -1, 1)
            If InStr(1, x, "€") > 0 Then x = Replace(x, "€", "", 1, -1, 1)
           
            If IsNumeric(x) Then c.Value = CDbl(x)
        End If
    Next c

    xRng.NumberFormat = "#,##0.00 [$€-1];[Red]-#,##0.00 [$€-1]"
    Set xRng = Nothing

    End Sub
3 0
sances sances

sances je offline (nepripojený) sances

Pochváliť
UU Ďakujem páni
Idem na to vyskúšať to
Ide o Import Webowej tabuľky - nie je v .csv ani .txt.
Pridali tam dokonca ikonku "exportu" do Excelu ale stále to nie sú čísla bez medzier a tých neznámych znakov.
Takže to musím vyriešiť vašou funkciou či makierkom a samozrejme - čím viac to bude automatizované a blbovzdorné, tým lepšie.
Dám vedieť ako som dopadol..
Ďakujem veľmi všetkým 100x
0 0
sances sances

sances je offline (nepripojený) sances

Pochváliť
Zdar páni.
Tak neviem kde ste sa to všetko naučili ale Pidgeyho makierko funguje skvelo.
Najprv mi to vymazalo všetky údaje z tabuľky.
Potom som nahradil tú hviezdičku tým neznámym znakom ktorý je za údajom ktrorý sa tvári ako číslo ale nie je to číslo a hneď mi to prečistilo celú tabuľku.
Super.
Import údajov som už používal tak ako popisuje PaloPa len tu som ho nevedel použiť lebo šlo vlasne o import z "Excelu do Excelu" ale veľmi cenné sú jeho poznatky do budúcna a ukladám si to.
Makierko spojím ešte z inými mojimi potrebami dúfam že to bude čo najviac automatizované.
Škoda že neviem Excelu povedať nájdi na www oblast buniek a importuj ju sem a sem a prečisti ju - to by už urobilo makierko .. a tak ..
Zatial študujem literatúru a možno raz budem vedieť aj to
Čo ma na tom ale baví je to, že čo ja tu riešim ako problém, vy vyriešite v rámci oddychu cez obedňajšiu pauzu klobúk dole.
Ďakujem ešte raz všetkým
Príjemný weekend
0 0
mepex mepex

mepex je offline (nepripojený) mepex

Pochváliť
Pokiaľ viem Excel umožňuje aktualizáciu údajov (pri otvorení dokumentu) aj z internetu (pokiaľ to je tabuľka). Ja tak mám spravenú aktualizáciu 4 fondov zo stránky VUB a funguje mi to bez problémov. V prípade záujmu sa dá naprogramovať aj ukladanie (zber) údajov včetne konverzie.
1 0
sances sances

sances je offline (nepripojený) sances

Pochváliť
Áno, ja som to skúšal a ešte som to nevzdal
Problém je v tom že údaje ktoré potrebujem natiahnuť sú "skryté" za takým "webovým" kalendárikom, kde si treba navoliť za ktorý deň má stránka zobraziť report. Taktiež si človek cez ikonku môže zvoliť prevod do Excelu - ktorý ako som riešil vyššie nie je na 100% spolahlivý.Na miesto "kalendárika" si ale asi budem všímať aký odkaz to vygeneruje a to sa budem snažiť nejako vnútiť Excelu aby sa mohol dostať na ten správny report v závislosti na dátume.
0 0
sances sances

sances je offline (nepripojený) sances

Pochváliť
Noo tak nejake pokroky už som urobil, vložil som do "okienka" kde sa zadáva webový dopyt upravený odkaz ktorý vygeneruje ten "kalendárik" a takto sa dostanem k aktuálnemu reportu.
Málokedy sa však "natiahne" sám, treba mu pomôcť systémom - upraviť odkaz - nič neupravím len to odkliknem a načíta report..
Mám tam 5 listov - na každom liste mám odkaz na iný report asi preto sa to bije alebo neviem čo.. asi je to veľa údajov naraz..
Budem ďaľej skúšať.
0 0
PaloPa PaloPa

PaloPa je offline (nepripojený) PaloPa

Pochváliť
sances Pozri príspevok
Noo tak nejake pokroky už som urobil, vložil som do "okienka" kde sa zadáva webový dopyt upravený odkaz ktorý vygeneruje ten "kalendárik" a takto sa dostanem k aktuálnemu reportu.
Málokedy sa však "natiahne" sám, treba mu pomôcť systémom - upraviť odkaz - nič neupravím len to odkliknem a načíta report..
Mám tam 5 listov - na každom liste mám odkaz na iný report asi preto sa to bije alebo neviem čo.. asi je to veľa údajov naraz..
Budem ďaľej skúšať.
Pripájam jednoduchý príklad aktualizácie kurzov z ECB, možno niekomu pomôže.

Cez "Importovať Externé údaje / Nový webový dotaz" som si prilinkoval údaje z webového XML zdroja (http://www.ecb.europa.eu/stats/eurof...f-hist-90d.xml)

Kliknutím pravým tlačidlom na ľubovoľné miesto naimportovaných údajov sa dajú pozrieť vlastnosti pripojenia (zatiaľ stačí pomenovanie pripojenia).
Názov sa potom dá použiť vo VBA kóde, pri volaní update, napr. takto:

Code:
Sub btn_UpdateKurz_Click()
    Application.GoTo Reference:=ActiveSheet.Range("B3")
    Selection.AutoFilter
    ActiveWorkbook.XmlMaps("ECB_kurzy_90d").DataBinding.Refresh
End Sub
Makro vtedy, ak by bolo treba zaktualizovať viac zdrojov naraz, inak stačí po stl. pravého tlačidla iba spustiť "Obnoviť údaje XML"

Palo
3 0

Pridať pochvalu

Zavrieť

Rubriky

Upraviť

Hlavné

Pozrite si čo prináša nová verzia Porady pozrieť neskôr viac nezobrazovať