sances
17.03.11,14:32
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..
Pidgey
17.03.11,16:08
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...
sances
17.03.11,17:33
Ď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.
Pidgey
18.03.11,07:05
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...
PaloPa
18.03.11,11:16
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 (http://pc-prog.eu/phpBB3/viewtopic.php?f=5&t=127)
Excel, makro - import údajov (http://pc-prog.eu/phpBB3/viewtopic.php?f=5&t=170)

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 €)

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
sances
18.03.11,12:29
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
sances
19.03.11,06:42
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
mepex
20.03.11,16:30
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.
sances
20.03.11,17:36
Á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.
sances
25.03.11,18:33
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ť.
PaloPa
25.03.11,19:42
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/eurofxref/eurofxref-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:


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

Palo
sances
26.03.11,05:52
OO super, Ďakujem, zakomponujem, niečo také potrebujem,zajtra v práci vyskúšam.Urobím "tlačítko" - "aktualizuj report".. Dík Pomaly sa v mojej knihe prelúskavam aj k takýmto veciam, len mi sa mi zdá stále že mi to ide straašne pomaly..

Noo Tak musím na tom popracovať, aktualizuje sa mi len práve aktívny List pri otvorení zošitu.
Skúšam si upraviť to makierko, len neviem či idem správnym smerom..
aby sa aktualizovali všetky listy pri otvorení zošitu, alebo pri kliku na tlačítko "aktualizuj".

No asi sa podarilo..
Na tých daľších listoch som nemal zakliknuté vo vlastnostiach - obnovovať pri otvorení súboru
Ďakujem :)
sances
03.04.11,08:14
Poraďáci, tak s Vašou pomocou (aj v téme porovnávací vzorec Excel) som to riešil, vzniklo toto: príloha...
Zošit sa mi pekne aktualizuje, makierko aj keď trošku neefektívne, ale funguje,
Stĺpčeky sa vyplňajú.:)
Jedná sa mi o to že reporty ktoré sa naťahujú na list 102 a 104 sa uzatvárajú každý deň najpojzdejšie k 08:00.
1.Vedeli by Ste mi to pomôcť rozšíriť tak, aby sa to spustilo, vyčkalo na aktualizáciu údajov, vyplnilo bunky a uložilo sa samo v určený čas?

2.Alebo: Vedeli by sme to rozšíriť tak aby to natiahlo aj report za iný dátum?
Webový odkaz sa mení v závislosti na dátume viď. druhá príloha..

Viem že nechcem málo :)

Učím sa..:) som na str. 318 MS Office Excel 2007 programovaní ve VBA a pomaličky mi dávajú niektoré veci zmysel..
Ale na toto som ešte nedorástol :)

Ďakujem veľmi pekne
sances
16.05.11,05:06
Zdravím
Vedeli by ste mi poradiť ako napísať vzorček alebo funkciu ktorá by mi zlúčila obsah dvoch buniek do jednej podľa priloženého súboru?
V F10 a G10 sú čísla napr.F10 1 vagón a G10 28 ton. 1 vagón = 28 ton. Do H10 by som potreboval zapísať: 1medzera/medzera28. V H10 to už nemusí byť ako číslo, daľej sa už s týmto údajom ako číslom nepracuje..Ak je to ťažké tak tam nechám len tony :) Skúsil som to cez formát - vlastný - ale to mi nefunguje. Ďakujem
jojom
16.05.11,07:22
Zdravím
Vedeli by ste mi poradiť ako napísať vzorček alebo funkciu ktorá by mi zlúčila obsah dvoch buniek do jednej podľa priloženého súboru?
V F10 a G10 sú čísla napr.F10 1 vagón a G10 28 ton. 1 vagón = 28 ton. Do H10 by som potreboval zapísať: 1medzera/medzera28. V H10 to už nemusí byť ako číslo, daľej sa už s týmto údajom ako číslom nepracuje..Ak je to ťažké tak tam nechám len tony :) Skúsil som to cez formát - vlastný - ale to mi nefunguje. Ďakujem

VLEVO(F10;(NAJÍT(" ";F10;1))-1)&" / "&VLEVO(G10;(NAJÍT(" ";G10;1))-1)
marjankaj
16.05.11,07:33
Alebo aj takto.
'=CONCATENATE(F10;" / ";G10)
sances
16.05.11,08:53
Ďakujem veľmi pekne chlapi, hneď to letím domov vyskúšať. Ako som už raz písal,robíte tu nemožné na počkanie a zázraky do troch dní...:)
jojom
16.05.11,13:19
Alebo aj takto.
'=CONCATENATE(F10;" / ";G10)
Tento vzorec sa dá nahradiť aj jednoduchším: ´=F10&" / " &G10 .
Ale neodstráni text ktorý potrebuje v tomto prípade sances odstrániť.
marjankaj
16.05.11,13:25
Tento vzorec sa dá nahradiť aj jednoduchším: ´=F10&" / " &G10 .
Ale neodstráni text ktorý potrebuje v tomto prípade sances odstrániť.


V prílohe žiadny text nebol. A myslel som že ak by tam bol, tak cez vlastný formát.
Nevidím logiku, aby si to niekto komplikoval vypisovaním textu do bunky s číslom.
Ale ak áno, tak by to bolo po tvojom.;)
sances
16.05.11,14:52
Nie nie, text tam nie je žiaden.
Zdá sa mi že budú fungovať všetky spôsoby čo ste napísali :)
Až sa mi hlava motá..:)
Skúšam to vpísať do syntaxe ktorú mám v makierku aby to mohlo chodiť..
Zatiaľ sa mu veľmi nechce :)
Ide zas o presun dát ako stále čo som tu zatiaľ riešil..
Sheets("SK ČB").Cells(135, Den + 12).Value = Sheets("UHLIE KOPY").Range("F26&" / " &G26).Value
Sheets("SK ČB").Cells(135, Den + 12).Value = Sheets("UHLIE KOPY").Range("F35&" / " &G35).Value
Stále sa ale VB nepáči ako to tam dávam..ešte poskúšam troška..
marjankaj
16.05.11,14:59
Nie nie, text tam nie je žiaden.
Zdá sa mi že budú fungovať všetky spôsoby čo ste napísali :)
Až sa mi hlava motá..:)
Skúšam to vpísať do syntaxe ktorú mám v makierku aby to mohlo chodiť..
Zatiaľ sa mu veľmi nechce :)
Ide zas o presun dát ako stále čo som tu zatiaľ riešil..
Sheets("SK ČB").Cells(135, Den + 12).Value = Sheets("UHLIE KOPY").Range("F26&" / " &G26).Value
Sheets("SK ČB").Cells(135, Den + 12).Value = Sheets("UHLIE KOPY").Range("F35&" / " &G35).Value
Stále sa ale VB nepáči ako to tam dávam..ešte poskúšam troška..
Môže byť
Range("A1")
Range("A1:C10")
Range("A:A")
Range("3:3")
Range("PomenovanáOblast")

Ale určite nie niečo takéto
Range("F35& " / " &G35)

Nanajvýš by to mohlo ísť takto
Range("F35" & " : " & "G35")
sances
16.05.11,16:14
Tá druhá možnosť ide, ale vráti len hodnotu z druhej bunky.
(Počet vagónov a lomítko nezapíše).
Skúsim ešte tú funkciu Concatenate
'Sheets("SK ČB").Cells(135, Den + 12).Value = Sheets("UHLIE KOPY").VLEVO(F26;(NAJÍT(" ";F26;1))-1)&" / "&VLEVO(G26;(NAJÍT(" ";G26;1))-1)
'Sheets("SK ČB").Cells(135, Den + 12).Value = Sheets("UHLIE KOPY").VLEVO(F35;(NAJÍT(" ";F35;1))-1)&" / "&VLEVO(G35;(NAJÍT(" ";G35;1))-1)
Sheets("SK ČB").Cells(135, Den + 12).Value = Sheets("UHLIE KOPY") = CONCATENATE(F26;" / ";G26)
Skúšam rôzne formy zápisu,hádam to rozchodím,zatiaľ mi to VBA neberie,nemám dobrú syntax :)
sances
17.05.11,09:56
Chlapi, všetky vaše verzie 100% fungujú v "čistom" hárku.
Teda ako vzorček v bunke.
Akonáhle to chcem použiť v makre, VBA mi to nevezme,buď frfle na dvojbodky,úvodzovky alebo neurobí čo má..
Iba na túto verziu nefrfle, ale zas bunky ostanú prázdne:
Sheets("SK ČB").Cells(135, Den + 12).Value = Sheets("UHLIE KOPY").Range("F26" & " : " & "G26")
Sheets("SK ČB").Cells(136, Den + 12).Value = Sheets("UHLIE KOPY").Range("F35" & " : " & "G35")
Ak za to dopíšem .Value tak tam zapíše obsah prvej bunky.

Už fakt nechápem..ja viem že ste mi to už napísali dosť po lopate..fakt som skúsil veľa možností, aj nápovedu Exelu..
marjankaj
17.05.11,10:02
Chlapi, všetky vaše verzie 100% fungujú v "čistom" hárku.
Teda ako vzorček v bunke.
Akonáhle to chcem použiť v makre, VBA mi to nevezme,buď frfle na dvojbodky,úvodzovky alebo neurobí čo má..
Iba na túto verziu nefrfle, ale zas bunky ostanú prázdne:
Sheets("SK ČB").Cells(135, Den + 12).Value = Sheets("UHLIE KOPY").Range("F26")+ Sheets("UHLIE KOPY").Range("G26")
Sheets("SK ČB").Cells(136, Den + 12).Value = Sheets("UHLIE KOPY").Range("F35" & " : " & "G35")
Ak za to dopíšem .Value tak tam zapíše obsah prvej bunky.

Už fakt nechápem..ja viem že ste mi to už napísali dosť po lopate..fakt som skúsil veľa možností, aj nápovedu Exelu..

V makre asi takto:cool:
sances
17.05.11,10:17
Spočítavať bunky v Makre pred skopírovaním ste ma tu už naučili :)
Ja som chcel práve ten zápis dvoch buniek do jednej bunky, za sebou, a aby to nebolo také jednoduché tak ešte za prvý údaj medzeru - lomítko a potom zas medzera a údaj z druhej bunky.. :)
marjankaj
17.05.11,10:27
Spočítavať bunky v Makre pred skopírovaním ste ma tu už naučili :)
Ja som chcel práve ten zápis dvoch buniek do jednej bunky, za sebou, a aby to nebolo také jednoduché tak ešte za prvý údaj medzeru - lomítko a potom zas medzera a údaj z druhej bunky.. :)

Sorry.
Tak takto

Sheets("SK ČB").Cells(135, Den + 12).Value = Sheets("UHLIE KOPY").Range("F26").value & " / " & Sheets("UHLIE KOPY").Range("G26").value
sances
17.05.11,10:41
Toten Value.. som bol na dobrej stope..
Tak som skúšal a skúšal..mohlo ma napadnúť že keď to funguje keď to zapíšem za tak treba ešte zapísať Value aj pred..
Moje ego dostáva riadne na frak pri tom Exeli..:)
Ďakujem veľmi..veľmi pekne
sances
19.05.11,10:48
Ahojte
Som tu zas s mojími klasickými prenosmi dát.
Prosím Vás, potreboval by som presunúť údaje z Hárka OVOCIE a z Hárka ZELENINA na Hárok PREHLAD do aktuálneho stĺpčeka.
Vtip je v tom že tentoraz presúvame riadky do stĺpčeka a ako správny dátum slúži bunka A1 na Hárku prehľad. Tá je formátovaná ako číslo, nie ako dátum.
Údaje na Hárkoch Ovocie a Zelenina sú stále v inom riadku podľa aktuálneho dátumu..a s tým mám problém :)
Ak by to nešlo s A1 - "číslo" tak vedľa do B1 vpíšem Date-1. Skúsite mi pomôcť? Príklad použijem do inej tabuľky ktorá je trošku komplikovanejšia a nechcem ju tu celú dávať.
Ďakujem vám všetkým
Prajem pekný deň poraďákom
marjankaj
19.05.11,11:09
Ahojte
Som tu zas s mojími klasickými prenosmi dát.
Ďakujem vám všetkým
Prajem pekný deň poraďákom
.
sances
19.05.11,12:37
Tak ja som si to skúšal makierkami a tu toto :) Idem to šupnúť do originál tabulečky, dúfam že nuly mi tam nebudú vadiť, prípadne dám nezobrazovať nuly ako sme to tu už raz mali. Vďaka. je to pre mňa nový spôsob presunu dát..

PS:
Môžem túto funkciu spúšťať v Makre ?
Ide o to aby mi užívateľ nezrušil vzorec ak "omylom" niečo zapíše do buniek kam prenášame hodnoty z pomocných hárkov.

A funguje to tak že tam musím mať posledný dátum minulého mesiaca aby to robilo správne hodnoty.
To mi nevadí, s tým sa viem vysporiadať, len som sa zľakol že keď zmením dátum tak to vpisuje zlé čísla.:)
Ale nič netreba meniť..aj to je na niečo dobré :)
marjankaj
19.05.11,18:45
Tak ja som si to skúšal makierkami a tu toto :) Idem to šupnúť do originál tabulečky, dúfam že nuly mi tam nebudú vadiť, prípadne dám nezobrazovať nuly ako sme to tu už raz mali. Vďaka. je to pre mňa nový spôsob presunu dát..

PS:
Môžem túto funkciu spúšťať v Makre ?
Ide o to aby mi užívateľ nezrušil vzorec ak "omylom" niečo zapíše do buniek kam prenášame hodnoty z pomocných hárkov.

A funguje to tak že tam musím mať posledný dátum minulého mesiaca aby to robilo správne hodnoty.
To mi nevadí, s tým sa viem vysporiadať, len som sa zľakol že keď zmením dátum tak to vpisuje zlé čísla.:)
Ale nič netreba meniť..aj to je na niečo dobré :)

No išlo by to aj makrom.
Ale jednoduchšie bude zamknúť tie bunky so vzorcami.
sances
19.05.11,20:09
Už som pozamykal :) Ďakujem
Excel sám upozorňuje na neuzamknuté bunky tak som to použil.
sances
05.06.11,11:35
Poraďáci, tak s Vašou pomocou (aj v téme porovnávací vzorec Excel) som to riešil, vzniklo toto: príloha...
Zošit sa mi pekne aktualizuje, makierko aj keď trošku neefektívne, ale funguje,
Stĺpčeky sa vyplňajú.:)
Jedná sa mi o to že reporty ktoré sa naťahujú na list 102 a 104 sa uzatvárajú každý deň najpojzdejšie k 08:00.
1.Vedeli by Ste mi to pomôcť rozšíriť tak, aby sa to spustilo, vyčkalo na aktualizáciu údajov, vyplnilo bunky a uložilo sa samo v určený čas?

2.Alebo: Vedeli by sme to rozšíriť tak aby to natiahlo aj report za iný dátum?
Webový odkaz sa mení v závislosti na dátume viď. druhá príloha..

Viem že nechcem málo :)

Učím sa..:) som na str. 318 MS Office Excel 2007 programovaní ve VBA a pomaličky mi dávajú niektoré veci zmysel..
Ale na toto som ešte nedorástol :)

Ďakujem veľmi pekne

1.Tak som vyriešil obnovovanie údajov tak že som zadal do webových odkazov vlastnosť - aktualizuj každých 1440 min. (Súbor otvorím o 08:00) tak sa bude odkaz aktualizovať stále o 08:00.
Problém je že ak niekto súbor zavrie a znovu otvorí tak už to nebude o 08:00.. dá sa to nejako inak?
Musí byť súbor otvorený?
Dá sa zadať čas na miesto minút?

2. Spúšťanie makra som zabezpečil príkazom:

Sub Vyplnit_datum()
Application.OnTime "08:05:00", "Vyplnit_datum"

Tu som ale narazil na problémik lebo makierko mi vypĺňa bunky podľa hodnoty v bunke L1 a ja som tam teraz zadal =(DATE(2011;6;5))-1 formátované len [d] aby makierko stále o 08:05 vyplnilo príslušný stĺpček.. Pre makro ale teraz nie je v L1 hodnota ale dátum a zamrzne..vieme s tým nejako vypiecť?
Ďakujem
marjankaj
05.06.11,12:14
1.Tak som vyriešil obnovovanie údajov tak že som zadal do webových odkazov vlastnosť - aktualizuj každých 1440 min. (Súbor otvorím o 08:00) tak sa bude odkaz aktualizovať stále o 08:00.
Problém je že ak niekto súbor zavrie a znovu otvorí tak už to nebude o 08:00.. dá sa to nejako inak?
Musí byť súbor otvorený?
Dá sa zadať čas na miesto minút?

2. Spúšťanie makra som zabezpečil príkazom:

Sub Vyplnit_datum()
Application.OnTime "08:05:00", "Vyplnit_datum"

Tu som ale narazil na problémik lebo makierko mi vypĺňa bunky podľa hodnoty v bunke L1 a ja som tam teraz zadal =(DATE(2011;6;5))-1 formátované len [d] aby makierko stále o 08:05 vyplnilo príslušný stĺpček.. Pre makro ale teraz nie je v L1 hodnota ale dátum a zamrzne..vieme s tým nejako vypiecť?
Ďakujem

'=(DATE(2011;6;5))-1 má hodnotu 40698 (počet dní od 1.1.1990). Neviem čo si tam chcel dostať. Zmenou formátu hodnotu nezmeníš.
sances
05.06.11,13:37
Áno, presne to mi robí problémik že to je 40... a nie jednoducho 4.
Predtým sme tam ručne zadávali 4 keď sme chceli vyplniť stĺpček za 4.tého. a makierko už urobilo zvyšok. Skúsil som aj zapísať =Date.. do inej bunky a z L1 sa na ňu len odkazovať ale ani to nepomohlo. Síce vidno 4 ale je to stále 40tis...
marjankaj
05.06.11,13:44
Áno, presne to mi robí problémik že to je 40... a nie jednoducho 4.
Predtým sme tam ručne zadávali 4 keď sme chceli vyplniť stĺpček za 4.tého. a makierko už urobilo zvyšok. Skúsil som aj zapísať =Date.. do inej bunky a z L1 sa na ňu len odkazovať ale ani to nepomohlo. Síce vidno 4 ale je to stále 40tis...

A čo je to tých 4?:eek:

Zadaj tam =5-1 alebo priamo 4.
sances
05.06.11,14:02
No veď práve, 4 je "dátum" za včera aby makro vedelo ktorý stĺpček vyplniť. 4 = 4.6.11, 5= 5.6.11 ale kedže to chcem automatizovať, musí si to Excel určiť sám..:)
sances
05.06.11,14:03
Skúsim Day -1 ale ani to mi myslím nebralo..
marjankaj
05.06.11,14:10
Skúsim Day -1 ale ani to mi myslím nebralo..

Funkcia = DAY(dátum)-1 ti dá tvoju požadovanú hodnotu. Ale ak tam budeš písať DAY(date(2011;6;5)) tak to môžeš písať rovno 4.
sances
05.06.11,16:35
Day funguje, ale ten sa mi asi bude asi aktualizovať iba s otvorením zošitu. Budem to musieť asi dať do makierka. Najprv sa bude asi spúšťať aktualizácia webových dotazov a potom aktualizácia Day ( ešte neviem ako :)) a potom makierko - prenos hodnôt. a čo tie moje prvé ot. ? Dajú sa realizovať?
marjankaj
05.06.11,18:23
Day funguje, ale ten sa mi asi bude asi aktualizovať iba s otvorením zošitu. Budem to musieť asi dať do makierka. Najprv sa bude asi spúšťať aktualizácia webových dotazov a potom aktualizácia Day ( ešte neviem ako :)) a potom makierko - prenos hodnôt. a čo tie moje prvé ot. ? Dajú sa realizovať?

Makro môžeš spustiť aj pri otvorení zošita. neviem, či ho budeš chcieť spustiť napríklad aj o 15:42:00:eek:
Nevyznám sa v tvojom zošite. Neviem, čo vlastne chceš.
sances
06.06.11,02:46
Prepáč, pomiešal som tu hrušky s jabĺčkami.
Skúsim použiť priložený súbor ako príklad.
Makro tam ešte nie je učesané, vtedy som to ešte nevedel zjednodušovať. Potreboval by som,aby sa priložený zošit automaticky "aktualizoval" každý deň o 08:05.
Čo pre to treba urobiť?
Makro vypĺňa stĺpčeky na základe hodnoty v "Hárok1"B2.
Webové odkazy sú nastavené na - aktualizuj pri otvorení zošita.
Na aktualizáciu Hodnoty v "Hárok1"B2 som chcel použiť DAY -1.
(robíme prehľad za predchádzajúci deň)
Aktualizáciu webových hodnôt som chcel zabezbečit 1x za 24 hodín tým, že dám aktualizovať webový odkaz každých 1440 min. a zošit otvorím o 08:00..a nechám ho otvorený.
Na spustenie Makra som chcel použiť Applikacion.OnTime.

Musí byť ten súbor stále otvorený aby sa aktualizoval?
(nastavenie automatického prepočítania?)
Nemôžem prikázať aby sa webový odkaz aktualizoval v určený čas a nie zadanie v minútach?
Ako zabezpečiť aktualizáciu hodnoty v "Hárok1" B2?

Ďakujem že ste tu ochotní čítať a lúštiť tieto moje strašné zadania, veľmi si to cením, chcete človeku pomôcť a ja nie som schopný ani poriadne sformulovať otázku..
marjankaj
06.06.11,13:03
Prepáč, pomiešal som tu hrušky s jabĺčkami.
Skúsim použiť priložený súbor ako príklad.
Makro tam ešte nie je učesané, vtedy som to ešte nevedel zjednodušovať. Potreboval by som,aby sa priložený zošit automaticky "aktualizoval" každý deň o 08:05.
Čo pre to treba urobiť?
Makro vypĺňa stĺpčeky na základe hodnoty v "Hárok1"B2.
Webové odkazy sú nastavené na - aktualizuj pri otvorení zošita.
Na aktualizáciu Hodnoty v "Hárok1"B2 som chcel použiť DAY -1. =day(today()-1)

(robíme prehľad za predchádzajúci deň)
Aktualizáciu webových hodnôt som chcel zabezbečit 1x za 24 hodín tým, že dám aktualizovať webový odkaz každých 1440 min. a zošit otvorím o 08:00..a nechám ho otvorený. Nemusí byť stále otvorený. Stačí ak sa spustí pri otvorení zošita tento príkaz: Application.OnTime "08:05:00", "makro" Zošit musí byť v čase 8:05:00 otvorený
Na spustenie Makra som chcel použiť Applikacion.OnTime.

Musí byť ten súbor stále otvorený aby sa aktualizoval?
(nastavenie automatického prepočítania?) Nie
Nemôžem prikázať aby sa webový odkaz aktualizoval v určený čas a nie zadanie v minútach? Písal som vyššie.
Ako zabezpečiť aktualizáciu hodnoty v "Hárok1" B2? Dáš tam vyššie uvedený vzorec

Ďakujem že ste tu ochotní čítať a lúštiť tieto moje strašné zadania, veľmi si to cením, chcete človeku pomôcť a ja nie som schopný ani poriadne sformulovať otázku..

To tvoje makro sa mi nechce lúštiť. Je príliš dlhé.

Po otvorení spusti makro CAS


Public Sub cas()
Application.OnTime "08:05:00", "aktualizuj"

End Sub

Public Sub aktualizuj()
MsgBox "aktualizujem"
End Sub
marjankaj
06.06.11,13:26
Môžeš dať aj toto do modulu thisworkbook


Private Sub Workbook_Open()
Application.OnTime "08:05:00", "aktualizuj"
End Sub

Bude sa to spúšťať pri každom otvorení zošita.

Ale aktualizáciu bude robiť až o 8:05:00 hod. Môžeš si zmeniť systémový čas, aby si videl, čo sa stane.
sances
06.06.11,16:05
Ďakujem, idem skúšať. Ešte tam dopíšem aby sa to potom aj uložilo.Ak nebudem vedieť, napíšem.
sances
22.09.11,17:44
Ahojte
Chcel by som spúšťať toto makro v určený čas.

Sub PRENOS_VALCOVNE()
' Klávesová skratka: Ctrl+m
'
'

Application.OnTime TimeValue("07:40:00"), "PRENOS_VALCOVNE()"

"Niečo" :) mám ale zapísané zle, makierko sa nespúšťa.
Musí to byť Public Sub ?
Skúšam všelijako ale makierko nereaguje.

Ďakujem
marjankaj
22.09.11,20:47
Ahojte
Chcel by som spúšťať toto makro v určený čas.

Sub PRENOS_VALCOVNE()
' Klávesová skratka: Ctrl+m
'
'

Application.OnTime TimeValue("07:40:00"), "PRENOS_VALCOVNE()"

"Niečo" :) mám ale zapísané zle, makierko sa nespúšťa.
Musí to byť Public Sub ?
Skúšam všelijako ale makierko nereaguje.

Ďakujem

Prvýkrát musíš to makro spustiť manuálne CTRL+M.
Alebo zabezpečiť jeho spustenie napríklad pri otvorení zošita.
Do modulu THISWOKBOOK si daj procedúru na spustenie tvojho makra PRENOS_VALCOVNE
sances
22.09.11,22:14
Tam bola chybička?
Idem skúsiť.
Thisworbook si popísal v zošite start.xls..?

Ďakujem
sances
22.09.11,22:15
Tam bola chybička?
Idem skúsiť.
Thisworbook si popísal v zošite start.xls..

Ďakujem

Edit:
01:17 tak takto to ide, vyskúšané,ak to 1x spustím potom už ide len mi napísalo že makro sa nedá spustiť, že buď nie je dostupné alebo sú makrá zakázané.
Pravdepodobne nejaký problémik so zabezpečením.
Uvidím či to pôjde zajtra v práci.Dík

6:50 Tak aj v práci píše že makro nenašlo ):
09:05 Neviem kde je teraz problémik, makierko sa aj chce spustiť ale Excel vypíše že makro sa nenašlo..dal som to aj do ThisWorbook ale to na to nemá vplyv, kontrolujem aj speeling ale všetko vyzerá v poriadku..hmm
PaloPa
23.09.11,06:19
... Tak aj v práci píše že makro nenašlo ):
09:05 Neviem kde je teraz problémik, makierko sa aj chce spustiť ale Excel vypíše že makro sa nenašlo..dal som to aj do ThisWorbook ale to na to nemá vplyv, kontrolujem aj speeling ale všetko vyzerá v poriadku..hmm

Ak je makro volané takto:

Application.OnTime TimeValue("07:40:00"), "PRENOS_VALCOVNE()"

chyba je v zátvorkách na konci. Volanie procedúry bez parametrov je bez zátvoriek.

Palo
sances
23.09.11,08:40
Supééérrr
Áno v tom to bolo.
Vymazal som tie "škaredé" zátvorečky a makierko ideee.
Ďakujemmmm
Taká ptákovina...ĎĎĎ
patslad
08.10.11,16:07
Už to asi nebude aktuální, nicméně kdyby náhodou někdo řešil stejný problém později - bez makra to jde řešit takto: Mám-li v buňce A1 takovéto špatné číslo, problém vyřeší vzorec =VALUE(SUBSTITUTE(A1;CHAR(160);""))
sances
08.10.11,17:29
Noo :) funguje to dík, toto sa teda dá zakomponovať do vzorca pri potrebe pracovať ďalej s tou hodnotou.
Nedá sa takýto vzorec použiť ako "naformátovanie bunky"? :) Ďakujem
patslad
09.10.11,07:19
Jako jestli by šlo barevně zvýraznit buňky, které obsahují špatný oddělovač? To by šlo, podmíněným formátováním. Pro buňku A1 nastavíš podmíněné formátování (třeba červená barva) pravidlem založeným na vzorci =NOT(ISERR(FIND(CHAR(160);A1;1))) a formát buňky rozkopíruješ pomocí štětce na ostatní buňky.
sances
09.10.11,15:56
Skôr som mal na mysli aby automaticky upravovalo tie bunky s tou "špatnou" hodnotou :)
Teraz to riešime cez makierko, ono by to asi ani nešlo nejako "natvrdo" šuchnúť vzorec do bunky ktorá je potom aktualizovaná hodnotou cez webový report.
To potom vyhodí ten vzorec z nej.
V každom prípade ale vďaka lebo môžem použiť ten vzorec pri prenose tej "špatnej" hodnoty do inej oblasti cez OFFSET ako mi tu Poráďáci ukázali.
Zakomponujem tam aj upraviť pomocou toho vzorca.
Hádam to pôjde :)
patslad
09.10.11,16:05
Noo, i to by možná šlo udělat - na jeden list (řekněme List1) kopírovat data z webového reportu a ve druhém listu by byl rozkopírovaný vzorec, který by hodnoty (kromě čísel) čistil, tj. na Listu2 by v buňce A1 byl vzorec =IF(ISEMPTY(List1!A1);"";IF(ISNUMBER(List1!A1);List1!A1;VALUE(SUBSTITUTE(L ist1!A1;CHAR(160);""))))
sances
09.10.11,16:19
Áno to by šlo, vždy používam dva listy.
Jeden pre prenos a jeden pre prácu s dátami.
To bude super vzorec :) keď tam ešte nahodíme ten OFFSET ktorý ako som spomínal používam pri presune dát.
patslad
09.10.11,16:23
JJ, jestli ty vzorce bude muset později někdo jiný upravovat, raději dá výpověď :mee:
sances
07.06.12,06:58
Ahojte
Mám ďalšiu malú :) otázočku:
Občas sa mi stane že mi Excel pri naťahovaní dát z webu napíše "neplatný webový odkaz".
Ako mám zistiť ktorý odkaz je "neplatný" ?
Mám ich tam viac, keď pozriem listy na ktoré naťahuje dáta, neviem nájsť nič čo by tam chýbalo.
Pri vytváraní webových odkazov som šiel cez tie "polia" kde Vám Excel navrhne takými žltými šípočkami ktorú oblasť chcete importovať.
Ja som pre istotu zaznačil všetky.. aby som predišiel nejakým chybičkám do budúcnosti.
Ale to bola zrejme chyba, lebo asi to zbytočne naťahuje oblasti ktoré mi netreba, plus možno aj nejaké logá a tak..
Mám to prerobiť len na oblasti ktoré potrebujem? Možno by sa to takto aj troška zrýchlilo..
Ďakujem
vladimir54
22.08.12,16:12
Ahoj poraďáci!!
Exportovať data z webreportu do excel je ralativne jednoduché.
Ale ja by som potreboval automaticky exportovať data každých napr.10 minút tak, aby sa zápis nových dat zapísal do bunky v naledujucom riadku a predtým exportované data zostali zapísané.Poradí mi niekto ,prosím?
sances
23.08.12,12:16
Najprv som Ti išiel hneď radiť, ale všimol som si že chceš aby tam zostávali tie dáta.(a to ja neviem urobiť) Už som videl niekde na nete raz niečo podobné, ale za 2 dni som to teraz nenašiel..
sances
24.08.12,20:18
Neviem, neskúšal som to, ale mohlo by to fungovať:
http://www.mrexcel.com/tip103.shtml
vladimir54
25.08.12,05:32
Vďaka za snahu, ale toto nefunguje, resp.data sa obnovujú v zvolenom čase, ale rovnakých pozíciach bez ohladu aku možnosť si z okna vlastností vyberiem, t.j. nemám možnosť prezerať a spracovať stiahnuté data, vždy vidím iba tie posledné.
sances
25.08.12,18:13
Škoda. Myslel som že možnosť vložiť riadky pre nové dáta zaberie.
No nič, dnes som pozeral aj do múdrej knihy ale mal som málo času.
Raz so videl v makre niečo ako - nájdi poslednú neprázdnu bunku v stĺpci - napr. A a tam vlož dáta..
vicktor
10.02.15,08:52
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...
SUPER! :)
2 hodiny som sa trapil, FIND, SEARCH, REPLACE, TRIM, SUBSTITUTE boli bezmocne, a ono to nie je medzera, potvora akasi.