Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  20 21 22 23 24 25 26 27 28   další » ... 286

Urobte si dočasné odstavenie Events, napr.:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim testValue As Variant
Dim myRange As Range
Dim myChangedRNG As Range


Set myRange = Range("D8:D372")

Set myChangedRNG = Intersect(Target, myRange)
If myChangedRNG Is Nothing Then Exit Sub 'ignoruje změny mimo určený rozsah
If myChangedRNG.Cells.Count > 1 Then Exit Sub 'ignoruje změny s více než jednou buňkou

testValue = myChangedRNG.Value

If IsNumeric(testValue) Then

Application.EnableEvents = False
On Error GoTo KONIECTESTU

If testValue >= 0 And testValue < 1 Then
myChangedRNG.Value = Format(testValue, "h:mm")
ElseIf testValue >= 1 And testValue < 24 Then
If Int(testValue) = testValue Then
myChangedRNG.Value = Format(testValue, "0") & ":00"
Else
myChangedRNG.Value = Format(testValue, "h:mm")
End If
End If

KONIECTESTU:
On Error GoTo 0
Application.EnableEvents = True
End If

End Sub

Prvý nástrel, nemám viac času ...

Skúste makro

A prečo má formátovať na žlto C3 ako N, keď N je v C4?

Nejasné. Skúsme to inak. Dajme tomu, že súbor otvoríte 9.3.2023 o 19:31.
a) Ktoré bunky budú zelené (uveďte všetky)?
b) Ktoré bunky budú žlté (uveďte všetky)?

Nie, to sú 2 úplne rozdielne riešenia. V 1. liste je klasická tabuľka. V 2. liste je objekt Tabuľka (ListObject, ExcelTable,...) + Kontingenčná Tabuľka. Použite, ktoré chcete.

Skúste, či som sa nezamotal.

Pr.

Pre Excel 2019, 2021, 365:
=MAXIFS(F2:F6;F2:F6;"<"&A2;E2:E6;B2)
pre Excel 2010+
=AGGREGATE(14;4;(F2:F6<A2)*(E2:E6=B2)*F2:F6;1)
inak maticový vzorec
=LARGE(IF((F2:F6<A2)*(E2:E6=B2);F2:F6;FALSE);1)
=LARGE(KDYŽ((F2:F6<A2)*(E2:E6=B2);F2:F6;NEPRAVDA);1)

??? Ale to neskúma neustále, či ste nezmenil podmienený formát (PF). To si iba raz, na začiatku po spustení makra prečíta farby medzi ktorými je prechod. A to sa predpokladá, že dáta budú mať 1 PF, alebo ak viac, tak tento "kopírovaný" bude prvý. Potom už pre každú bunku cieľa počíta jej MIN a MAX tak, aby hodnota bunky zodpovedala podielovo tomu podielu zdroja, aby sa dosiahla rovnaká farba. Ale zdroja celkovo, nie z každej zdrojovej bunky iné PF. Nie je mysliteľné, aby sa pri každom prepočte, pri akejkoľvek zmene akejkoľvek bunky, kontrolovalo a nastavovalo takýmto spôsobom X tisíc PF iných buniek. S tým by ste pracovať nechcel.

Musíte vedieť aké farby PF bude mať ktorá oblasť, a nastaviť ich jedným spustením makra pre každú oblasť. Ale tým to hasne. Vy keď následne zmeníte zdrojové PF, tak sa to cieľa nedotkne.

A netýka sa to iných druhov PF ako farebný prechod medzi 2 farbami.

Ak chcete čokoľvek iné, musíte dodať presnú prílohu, s presným rozsahom dát (na zistenie, či to bude realizovateľné), a popisom aký formát ma byť kde.

VBA - vyberte si z toho čo potrebujete

Neviem, ako často sem chodíte, ale občas sem mrknite, možno Vám to prerobím. Len si to musím najskôr poriadne pozrieť, vyvodiť nejaké logické súvislosti (pretože to nie je kompletné), pochopiť, čo asi chcete urobiť, a ak nenarazím na zásadný logický rozpor, tak to prerobím. Ale ak narazím na nejakú "drobnosť" tak ma žiaľ už prestáva v poslednom čase baviť snaha o dolovanie odpovedí od užívateľov ... v tom prípade to asi iba zahodím ... 1

Pred ten cyklus dajte
Application.DisplayAlerts = False
a za ním
Application.DisplayAlerts = True
Ale to makro je napísané hrozne. Navyše mne ani neprejde hneď na začiatku
MyDate = Mid...
To bude asi záležať na jazykovom prostredí, či dovolí vložiť do premennej Date text "2.2023" tak, že pozná, že ide o 1.2.2023. U mňa končí chybou.

Nerozumiem, načo to stále preformátovávate, veď zmažte iba hodnoty a vypĺňajte iba tie, a nie zmažete formáty a znovu nastavujete. Navyše po jednom, nie hromadne... Veď to majte ako šablónu.

Nemusíte vypĺňať niekoľko dátumov, stačí jeden a nech si vzorcom ostatné dopočíta.

Počet dní v mesiaci sa dá predsa zistiť úplne inak ako podľa čísla mesiaca v 12-ich if then

Nie je zabezpečené, že je aktivovaný správny list a pracuje sa iba s Cells namiesto With Worksheets(x)

To rozdelenie textu na stĺpce predsa nemusíte robiť takto, ale pomocou funkcie Split()

...

Celé makro by bolo dobré preprogramovať.

Tak som teda pripravil jednorazové makro, ktoré nastaví dané PF.

Žiaľ ma nenapadá, ako by sa toto dalo poriešiť bez makra. Môžete použiť makro? A o koľko buniek spolu by sa jednalo?


Strana:  1 ... « předchozí  20 21 22 23 24 25 26 27 28   další » ... 286

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