Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  262 263 264 265 266 267 268 269 270   další » ... 289

Tiež som rozmýšľal načo to asi je. Napadá ma napr. že odošle niekam niečo mimo Excel, a čaká nejakú dobu na spracovanie, netuším...
Neviem či ide upravovať zošit počas Application.Wait alebo Sleep, píšem z tabletu, nemám ako overiť.

Skúste:

Parameter je String "HH:MM:SS"
Sub Pauza(T As String) ' "00:00:01"
Application.Wait (Now + TimeValue(T))
End Sub


Sub pokus()
Call Pauza("00:00:05")
MsgBox ("Po pauze")
End Sub


alebo:
Na začiatok Modulu : (jeden riadok bude označený červeným, podľa x86/x64 verzie Office - to je OK, ale 2007 tuším x64 ani nebola)
#If Win64 Then
Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongLong)
#Else
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If

Sub pokus()
Sleep (5000)
MsgBox ("Po pauze")
End Sub

Napr.

Poviem Vám, nič jednoduché. Teda aspoň pre mňa. Najskôr som sa pokúšal urobiť čo najviac cez maticové vzorce, ale keďže sa jedná o slovník, tak je predpoklad veľkého množstva riadkov. Urobil som to najskôr celé maticami, aj zlúčenie textu (s obmedzením na 10 položiek), ale ten prepočítavací čas bol obrovský na testovaných 23 stĺpcoch po 10 000 riadkov...

Takže moje terajšie riešenie, je také, že sa vytvoria matice iba na 2 stĺpce, a iba na potrebný počet riadkov (čím bude viac riadkov, tým to dlhšie bude trvať). Tieto matice počítajú potrebné bunky a ich priradenie, sú v skrytom liste "Temp". Aby tie matice stále neprepočítavali dopĺňané hodnoty do slovníku v RealTime, tak by som ešte aktivoval ten riadok v kóde, ktorý ich zmaže po načítaní hodnôt z nich. Vyskúšajte.

Keď matice urobia svoju úlohu a načítajú sa z nich data, ostatné sa udeje v makre.

Nechce sa mi to vysvetľovať a popisovať. Možno inokedy.

Použitie:
-Na list data si dajte slovník (stĺpec A má smerodajný počet riadkov - obmedzený zatiaľ na 10 000).
-Môžu by aj medzery, počítal som s tým.
-Stlačte tlačítko, a výsledky máte na liste "Syn-Hom"
-Ak je treba, pred stlačením tlačítka uložte súbor.

Dajte mi určite vedieť, čo a ako...

PS: Ak mi dáte reálny slovník, možno skúsim niekedy aj riešenie kompletne v makre, bez matíc, a uvidíme čo bude lepšie na 10 000 riadkoch.

Prepracovaná verzia. Pre oba listy sú v ich vlastných udalostiach Worksheet_SelectionChange konštanty OD, ktoré označujú riadok v zošite, od ktorého (vrátane) sa vyfarbuje.
Reflektovania zaškrtnutia niektorého z CheckBoxov sú z predošlej verzie zachované.

No ja som to robil podobne, ale trochu inak. Reaguje to aj na stlačenie políčka, čo v predošlom prípade nerobí.

Riadok 10 mi príde nezmyselný, ale ja zase nemôžem vedieť o čo tam ide. Ak treba od 10, dá sa to zmeniť.

List 2 som ešte nerobil.

Dajte vedieť.

Skúste pozrieť toto, či je to podľa predstáv:

Neskúšal som, iba z brucha
Sub subMarine()
With Workbooks.Open("C:\data.xls")
.Sheets("List1").Range("A1").Formula = "=1+1"
PosledniPlnyRadekListCelkem = .Sheets("ListCelkem").Range("A1").End(xlDown).Row
PrvniPrazdnyRadekListCelkem = PosledniPlnyRadekListCelkem + 1
PosledniPlnyRadekList2 = .Sheets("List2").Range("A1").End(xlDown).Row
PrvniPrazdnyRadekList2 = PosledniPlnyRadekList2 + 1
.Save
.Close
End With 'Workbooks.Open("C:\data.xls")
End Sub


Podľa mňa máte chybu :
PosledniPlnyRadek + 1
má byť asi
PosledniPlnyRadekListCelkem + 1
a neskôr má byť asi
PosledniPlnyRadekList2 + 1

A ještě jsem přemýšlel, jestli by nějak šlo otevřít v té složce všechny soubory, které obsahují text z té buňky(protože ty číselné názvy bude mít každý soubor jiný). Abych v buňce měl název "1000" a otevřelo mi to soubor, který bude začínat 1000_nazev_neco_neco.pdf ..

Odpichoval som sa od tohoto, čo som pochopil, takto:

Pred čiarkou - rodič
Za čiarkou - ak je väčšie ako 00 tak je to dieťa

A tak som to aj urobil, tak to dávalo aj zmysel.
Ja Vám fakt nerozumiem, čo potrebujete. Takto ako som Vám to teraz upravil, ako žiadate, mi to nedáva zmysel, a odporuje to predošlým požiadavkám, a podľa toho ako to chápem, aj logike.

Vyskúšajte, či je to to pravé orechové. 1

Paráda, funguje, problém bol v tej mriežke.
Ďakujem veľmi pekne.

Tommy968, a nemyslíte náhodou niečo takéto ?
Toto je matica, ale pôjde to asi aj cez FIND či SEARCH...

Zdravím Vás.

Mám prosbu. Vie niekto, čo robím zle, keď nemôžem sprevádzkovať žiadnu z metód Hypertextového odkazu na iný list, počítaného vzorcom =HYPERLINK(...) ?
Funguje, iba ak urobím manuálny Hyperlink cez pklik myši.
Fakt neviem, čo robím zle.

Všetky červené mi píšu chybu "Zadaný súbor sa nedá otvoriť".

Ďakujem.

Riešené napr. tu:
http://wall.cz/index.php?m=topic&id=25763
ďalší dotaz je na to už aj tu:
http://wall.cz/index.php?m=topic&id=25715
a ďalšie...

Využiteľnosť? No ľudia chcú mať "DB" v Exceli pre jeho relatívnu jednoduchosť, čo sa týka vkladania, úpravy, spracovania, výstupu a zrozumiteľnosti dát. Excel ale nieje DB. Na to je Access (a iné), ale to je zložitejšie. Ja som sa už s použitím Excelu ako "DB" stretol často, ale väčšinou v tom istom zošite.
Čítanie by nebol problém, ale zápis je už iná káva. Hovoríme stále o zatvorenom súbore.

@eLCHa: a nefungovalo by to aj bez pomocného stĺpca ?
=IF(B1-A1<0;"-";"")&TEXT(ABS(B1-A1);"h:mm")
@Michal83: ktorý že to používate súbor ? Dajte link.

No neviem, neviem, urobil som asi 20 zápisov, a začalo to byť pomalé :(.
Máte tam chybku, v druhom Application.DisplayAlerts = False, má byť True.
Aby Open okno nepreblikovalo treba ešte pridať Application.ScreenUpdating = False. Veľmi to spomaľuje zvolený druh výpočtu počtu riadkov. Nerieši sa tam ešte to ID. Treba ošetriť kliknutie na prvý riadok. Prenáša sa aj slovo "klik".
Takže asi by som to upravil takto:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim a(), r As Long
If Target.Row > 1 And Target.Column = 9 Then
With Application
.ScreenUpdating = False
On Error GoTo Chyba
Workbooks.Open ThisWorkbook.Path & "\obj.xlsx"
With Worksheets("objednavka")
a = ThisWorkbook.Worksheets("seznam").Rows(Target.Row).Resize(1, 8).Value
r = .Cells(Rows.Count, 1).End(xlUp).Row + 1
a(1, 1) = Format(r - 1, "000")
.Rows(r).Resize(1, 8).Value = a
End With
.DisplayAlerts = False
ActiveWorkbook.Close True
Chyba:
.DisplayAlerts = True
.ScreenUpdating = True
End With
End If
End Sub


Strana:  1 ... « předchozí  262 263 264 265 266 267 268 269 270   další » ... 289

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse

Týden v roce

Petr92 • 16.7. 15:34

Řazení podle času v kategoriích

veny • 16.7. 11:34

špatný výpočet ze zisku - příčina?

Anonym • 12.7. 22:56

špatný výpočet ze zisku - příčina?

Jakoby • 12.7. 12:35

Řazení podle času v kategoriích

Marekh • 12.7. 9:55

Porovnávací Tabulka

Jess • 8.7. 20:49

Vzorec pro zkopírování obsahu buňky.

veny • 6.7. 8:28