Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  89 90 91 92 93 94 95 96 97   další » ... 302

To je prvé čo ma napadlo. Keď príde MePExG, tak ma sprdne, a hodí sem jednoduchšie riešenie 5 .

Píšete, že chcete mať index podľa vlastnej voľby, tak vychádzam z toho že máte nejaké indexy položkám priradené.

Jablká <> jablká

Za tento riadok
For y = 1 To Radku
doplňte toto
If LenB(Data(y, 1)) = 0 Then ReDim Preserve aRadky(1 To y - 1): Exit For
Tu to hodí chybu, ak to spustíte na prázdnom liste! Mám dopĺňať kontrolu do kódu?

"Training" nieje "Trénink".
Worksheet_Change sa nedáva do modulu ale do listu.
Meno "Jméno 1" nie je to isté ako "Jméno1".
Upravené, vyskúšajte. Zmena tých mien je ale poriadne nepohodlná, kvôli tomu odkazu.
Link na súbor

A spúšťate súbor z prílohy 49730? Kód vo Vašej prílohe 49733 nie je ten, čo som Vám poslal ja v 49730.

??? Exportujte, a porovnajte hneď prvý riadok s tým, čo dávate ako príklad. Ukážte mi rozdiel. Ja ho nevidím.

Premýšľam ako odpovedať, bo skôr ako napíšem ako fungujú základné veci v Exceli, ako je COUNTIF a relatívne/absolútne adresovanie buniek, tak skôr to vygooglite.)
COUNTIF - spočíta počet výskytov dátumu v oblasti.
Túto oblasť si určíme vždy od prvej bunky $A$1, po aktuálny riadok v stĺpci A. Teda $A$1:A1, $A$1:A2, $A$1:A3 ...
Takže v každom riadku počíta koľko sa tam nachádza tých dátumov od začiatku po práve počítaný riadok.
Rozdiel medzi $A$1 a A1:
$A$1 - absolútne adresovanie buniek
A1 - relatívne adresovanie buniek
Značka absolútneho adresovania, teda $, pribíja danú súradnicu, aby sa nehýbala, pri kopírovaní vzorca. Tu na začiatku pribijeme aj stĺp A aj riadok 1, preto oblasť spočítavania vždy začína v $A$1.
Narozdiel od toho relatívne adresovanie, tam kde $ nieje, sa mení, podľa toho, kam vzorec posunieme/skopírujeme. Preto sa v každom riadku mení adresa koncovej bunky, pri skopírovaní vzorca na A1, A2, A3, ...

PS: Ešte presnejšie by to malo byť $A$1:$A1 1

Takýmto poliam nemôžem odolať 5

=COUNTIF($A$1:A1;A1)

To je docela rizikové na chybu. Musíte mať niekde uložené staré názvy. Tu som ich dal do listu OLD.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zmena As Range, Bunka As Range, rngOLD As Range, H As String, MSG As String
Set Zmena = Intersect(Range("K4:AD4"), Target)
If Not Zmena Is Nothing Then
On Error GoTo CHYBA
For Each Bunka In Zmena.Cells
Set rngOLD = wsOLD.Range(Bunka.Address)
H = Bunka.Value
Worksheets(rngOLD.Value).Name = H
Worksheets("Trénink " & rngOLD.Value).Name = "Trénink " & H
Bunka.Hyperlinks.Add Bunka, "", Split(Worksheets(H).Cells(1, 1).Address(, , 0, 1), "]")(1), H
rngOLD.Value = H
CHYBA:
If Err.Number <> 0 Then MSG = MSG & IIf(MSG = "", "", vbNewLine) & H
Next Bunka
If MSG <> "" Then MsgBox "Tieto zmenené hodnoty sa nepodarilo správne aplikovať:" & vbNewLine & MSG, vbCritical
End If
End Sub

Maticový vzorec do PF?
=--MID(B3;10;2)=MAX(IF(LEFT($B$3:$B$10999;8)=LEFT(B3;8);--MID($B$3:$B$10999;10;2)))
=--ČÁST(B3;10;2)=MAX(KDYŽ(ZLEVA($B$3:$B$10999;8)=ZLEVA(B3;8);--ČÁST($B$3:$B$10999;10;2)))

ale výpočetne náročné na 11K riadkoch.

Jaj keby ste vedela, ako sa mi dnes už nece. Snáď zajtra.
V prípade prerobenia na objekt Tabuľka, treba myslieť na dôsledky. Máte tam zakomponované zisťovanie verzie Excelu, a v prípade nižšej verzie sa ukladá XLS, a nie XLSM! Teda Tabuľka sa znefunkční. Teda z toho že to tam je predpokladám, že to používate cross verziami. atď.

Prečo konkrétne od 22. riadku mažete presne 55 riadkov?
.Cells(22, 2).Resize(55, 7).ClearContents

Čo sa má nachádzať na 55. riadku?
If riadok - 54 > 0 Then
.Cells(55, 1).Resize(riadok - 55, 7).ClearContents
.Cells(55, 1).Resize(9) = 1
.Cells(55, 9).Resize(9) = WorksheetFunction.Transpose(Array("OK", "NK", "NKJIS", "UK", "ORL", "JORL", "OMFCH", "Očné", "JOCK"))


End If


Prečo musí byť v A nezmazaných vždy presne 33 riadkov? To mi nesedí ani na dni v mesiaci...

Inak v tej kontrole nemôže byť
And (LST <> FaP)
ale
And (LST <> "FaP")
ostatné si preberiem až po odpovediach.

No ale Vy predpokladám hovoríte o tom, že Vám nevymaže posledný riadok na liste "zoznam". To makro ale práve list "zoznam" má vo výnimkách (funkcia "CheckMesiac"). Makro sa tohto listu nedotkne, tak mi je záhadou, ako Vám môže nevymazať posledný riadok z listu, v ktorom nič nemaže.
A ďalej pozerám, že som dával (to je moje makro) konštantu PRVY_RIADOK, ktorú očividne nikde nepoužívate. Teraz by mala byť asi 22, nie 20. To je ale fuk. Hovorím to len preto, že to naznačuje "nefundované" úpravy :).

O ktoré makro ide?


Strana:  1 ... « předchozí  89 90 91 92 93 94 95 96 97   další » ... 302

Uživatelské menu

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

Menu

Formulář Faktura

Formulář Faktura IV

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

Helios iNuvio

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.

On-line nástroje