fuu beží to ako má, vytvára to txt súbory, proste TOP práca.
ďakujem Vám za trpezlivosť, ochotu pomôcť, istá provízia pôjde aj Vám(najprv ešte musím niečo zarobiť :)), ešte mierne doladiť nejaké chybičky a malo by to fungovať ako hodinky :)
timer slúži iba na prekopírovanie dát z F25:F52 do G25:G52 iba v "sheet1" nič iné. S vytváraním txt súbormi to nemá nič spoločné.
Presné využitie TXT súborov: Druhý program scanuje folder a hľadá commandfile.txt každú sekundu. Keď program prečíta txt(commandfile) súbor, tak ho hneď vymaže. Nemyslím si, že tam bude nejaký problém s prepisovaním. Musím najprv vedieť ako sa to bude správať. Priemer vytvorených txt súborov bude zhruba 4 za deň takže nebude to žiadna tlačenica txt súborov
excel ťahá dáta cez DDE server viac Vám k tomu neviem povedať
ďakujem Vám za strávený čas a ochotu
áno priznávam, moja chyba, že som menil podmienky počas dialógu ale zase na druhej strane, keď porovnáme upravený kód a kód, ktorý mi bol poskytnutý tak zmeny môžme vidieť iba v : zmene adresára(cesta kde má TXT file byť uložený) a druhá podmienka s "-3"
ono to všetko funguje ako má, len problém je, že to funguje iba keď manuálne zadám hodnoty a stlačím enter a nefunguje to "samovoľne" .
Spravil som si test: menil som hodnoty(aby v "G4" bola "3" v AUDCAD sheete) manuálne v "sheet1" všetky dáta sú ťahané zo "sheet1" a nevytvorilo to TXT súbor.
ale keď som menil hodnoty manuálne v napr. AUDCAD dostal som v "G4" "3" tak txt súbor bol vytvorený
okey ideme to upresniť nieje problém :)
príloha pre vizualizáciu: http://uloz.to/xhTax2X8/db-alerts-auto-xlsm
Popis úplne iný, Váš kód úplne iný
nechcel som Vás zaťažovať ostatnými vecami, myslel som,že to spravím aj sám ale nie som schopný :(
-Ktorý list bude ActiveSheet keď sa má daná operácia vykonať? V tomto prípade bude lepšie odkazovať na meno listu, nie na ActiveSheet.
-myslím si, že tu môže byť chyba. Keď sa pozriete do súboru, tak je to rozdelené. Aktívny(otvorený) spreadsheet bude vždy "sheet1" lebo sheet1 je kontrólny sheet
-Čo ak nastane v G4=3 v G5=-3 ? O tom, že G4 bola "3" a vytvoril sa súbor nebudete vedieť, lebo ho prepíšu data z iného riadku počas spracovania "-3".
-to je nemožné, tie podmienky sú tak spravené,že môže byť iba +3 alebo -3
-Set ws = ActiveWorkbook.ActiveSheet, je úplne zbytočný, keď sa aj tak ďalej odkazujete na ActiveSheet a nie na ten ws.
-tu neviem čo okomentovať
-Recalc() berie z ktorého listu data na kopírovanie ?
tento kód som si robil sám podľa internetu a takto to aj vyzerá, ťažkopádny kód a manipulácia ešte tažšia
ten recalc funguje na aktívnom spreadsheete
skúste sa na to pozrieť :)
hmmm... nejako to nechce reagovať, keď dáta sa aktualizujú. Vlastne logika tej "3" je, že sú splnené tri podmienky (sum troch podmienok, ak keď sú všetky tri podmienky splnené tak by to malo vytvoriť TXT súbor)
tu je trochu upravený kód a neviem čo ďalej... ak by niekto mal nejaké riešenie bolo by to super
skúšal som zmeniť z change na calculate a vyhodilo mi to hneď nejaké kompilačné errory a ďalej som sa už nevedel pohnúť
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cesta_k_souboru As String
Dim nazev_souboru As String
Dim sloupec As Byte
Dim ws As Worksheet
Dim text_k_zapisu As String
If ActiveSheet.Range("G4").Value = 3 Then
Set ws = ActiveWorkbook.ActiveSheet
cesta_k_souboru = "C:\Users\masof_000\AppData\Roaming\MetaQuotes\Terminal\1DAFD9A7C67DC84FE37EAA1FC1E5CF75\MQL4\Files\tradefromcsvfile\"
nazev_souboru = "commandfile" & ".txt"
text_k_zapisu = ""
For sloupec = 11 To 22
text_k_zapisu = text_k_zapisu & Replace(ActiveSheet.Cells(30, sloupec).Value, ",", ".", 1)
If sloupec <> 22 Then
text_k_zapisu = text_k_zapisu & ","
End If
Next sloupec
Open cesta_k_souboru & nazev_souboru For Output As #1
Print #1, text_k_zapisu
Close #1
End If
If ActiveSheet.Range("G5").Value = -3 Then
Set ws = ActiveWorkbook.ActiveSheet
cesta_k_souboru = "C:\Users\masof_000\AppData\Roaming\MetaQuotes\Terminal\1DAFD9A7C67DC84FE37EAA1FC1E5CF75\MQL4\Files\tradefromcsvfile\"
nazev_souboru = "commandfile" & ".txt"
text_k_zapisu = ""
For sloupec = 12 To 23
text_k_zapisu = text_k_zapisu & Replace(ActiveSheet.Cells(31, sloupec).Value, ",", ".", 1)
If sloupec <> 23 Then
text_k_zapisu = text_k_zapisu & ","
End If
Next sloupec
Open cesta_k_souboru & nazev_souboru For Output As #1
Print #1, text_k_zapisu
Close #1
End If
End Sub
ďakujem Vám páni
oba fungujú správne ale Pavlus-ov kód pracuje lepšie pretože, v tej podmienke (A1=3) môžem použiť vzorec- moje porozumenie, ako keby to bolo active a to je to čo potrebujem(práca s real time dátami)
ďakujem Vám obom ešte raz
prajem pekný večer
jojofx
elninoslov napsal/a:
A čo takéto niečo, spravil som Vám OnTimer ?
http://uloz.to/xLndNhbD/csm-yaas-rar
"Vámi zaslaný soubor při pokusu o jeho zprovoznění protestuje, že jednak nemá propojení, jednak že nemůže najít nějaký textový soubor"
-stačí ak dáte pokračovať(continue) a malo by to ísť (skúšali to viacerí použivatelia a fungovalo to, testované MS Excel 2007 a novšie)
na internete som našiel video ako to má presne fungovať. http://uloz.to/x9kCQkzx/ashampoo-snap-2015-08-11-10h49m10s-047-wmv
Ak sa Vám to podarí otvoriť,tak Vám popíšem čo je vo videu a čo je súbore.
-hore vľavo na videu beží časovač, ktorý ak uplynie a presne bude "0" sekúnd, tak dáta s "current" (v súbore to je "F25-F52") sa prekopírujú do stĺpca "LAST" ( v súbore to je "AJ25-AJ52")
Ak sa Vám to nepodarí, nevadí a ďakujem aspoň za odpoveď a ochotu pomôcť :)
Vovka napsal/a:
V dotazu se orientuji jen stěží. Pokud ale jde o časovou prodlevu, během níž lze běžně manipulovat s daty na listu, používám s výhodou proceduru, jejíž modifikovanou podobu nabízí Help v Excelu:
Sub Prodleva(Delka As Single)
Dim Kon As Single
Kon = Timer + Delka
Do While Timer < Kon
DoEvents
Loop
End Sub
Delka je čas prodlevy v sekundách, nastavitelný rozumně cca od jedné tisíciny sekundy až po délku jednoho dne. V době prodlevy lze normálně se sešitem pracovat. Po dobu jejího běhu však je zastaveno provádění procedur VBA.
Dobrý deň
už je mi to trošku trápne Vás otravovať ale práca s Excelom, čo sa týka manipulacie live stream dát, je na nezaplatenie.
Ako som už v úvode napísal, používam live stream dát (cca 1 sekunda upload dát), čísla sa veľmi rýchlo menia a jednoduchosť a efektivita musí byť na prvom mieste. Vytvorenie časovača (countdown timer) som našiel na www.youtube.com Ale našiel som iba úplny základ a to nestačí
konkrétny súbor nájdete tu: http://uloz.to/xyPDoyFt/csm-yaas-xlsx
Vlastnosti časovača (čo by mal robiť)
- v bunke "AG23" nastavenie ľubovoľnej hodnoty/času/ (ak to nieje možné alebo ak s tým veľa práce tak hodnota by mala byť 1800 sekúnd (30 minút ))
- Start button (začiatok odpočítavania)
- po uplynutí doby(času) prekopírovanie hodnôt z rozsahu "F25-F52" do "AJ25-AJ52"
- smyčka (loop) po uplynutí doby(času) sa časovač spustí automaticky
NOTE: Dáta sa Vám nebudú aktualizovať, pretože je nútne mať spustený software MetaTrader 4
Ak bude mať niekto chuť, čas a ochotu to vypracovať, tak Vám vopred veľmi pekne ďakujem
Prajem pekný deň
jojofx
som už trošku dopletený s toho ani som si to nevšimol :) ďakujem ešte raz skvelá práca
vyzerá to veľmi dobre a ľahko sa to číta. A mal by som ešte jednu úlohu, ak by ste mali ešte čas. Z vytvorených tabuliek(H1 a D1), vypísať nové hodnoty, ktoré maju rovnaké premenné v riadku
Keď si pozriete riadky NZDUSD v H1 a D1 tak sú tam rovnaké premenné tieto: EURJPY,NZDJPY,GBPAUD,GBPNZD
Neviem, či som to pochopiteľne napísal, dúfam,že áno
http://uloz.to/xGtYYoSq/rrrrrrr-jpg
elninoslov napsal/a:
Takto ?
Je tam aj podmienené formátovanie:
-oranžová na <-75%
-žltá na >75%
-žltá na prvý stĺpec výsledku, ktorý obsahuje nejaké prekračujúce hodnoty
Ďalej je použitá už matica, kvôli tomu aby boli za sebou (pozor vzorce sú až po stĺpec BG)Příloha: 25659_correlation_table.rar
elninoslov napsal/a:
To chcete vypísať rovno v tých tabuľkách ? Čiže napr. ak upravíme vzorec v C4 z
=CORREL(usd!N3:N43;usd!F3:F43)
na
=IF(OR(CORREL(usd!N3:N43;usd!F3:F43)<=-75%;CORREL(usd!N3:N43;usd!F3:F43)>=75%);B4;CORREL(usd!N3:N43;usd!F3:F43))
tak rovno v C4 bude "AUDUSD", a rovnako bude "AUDUSD" aj v jej dvojíčke v E2?
Takto ? Ak áno, tak Vám spravím makro ktoré Vám prevedie tie vzorce na tento tvar (jednorázovo, žiadne makro potom používať nemusíte).
Ak som úplne mimo, tak to bude treba zoširša vysvetliť, pretože z finančníctva viem akurát to, že ma z neho bolí hlava .
EDIT: OK, beriem všetko naspäť, už som to asi pochopil, že ide o to, čo je vpravo. Pôjdem sa na to mrknúť...
nieje problém :)
prílohu môžte stiahnúť tu: http://uloz.to/ximKsfpE/correlation-table-xlsx
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.