Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  51 52 53 54 55 56 57 58 59   další » ... 289

Takže tá príloha nesedí. Vy budete mať len jeden a ten istý list aj na vkladanie pôvodných dát pod seba, a zároveň v tom istom liste sa zmenia udalosti na usporiadanie vedľa seba (s čiastočným prepisom v prvých stĺpcoch, a zmazaním pôvodného usporiadania)?
Vkladanie pôvodného usporiadania bude vždy do oblasti Q1:AE1? Alebo vždy vedľa už spracovaných dát z predošlého spustenia makra? Teda napr. po tomto spracovaní by ste ďalšie vkladal na DH1:DV1? Ak je to tak, potom treba aj tlačítka vytvárať až za predošlými s posuvom posledného tlačítka "zobraziť všetko". A ak by to tak bolo, podľa čoho identifikujem, od ktorého stĺpca sú pridané zlúčené udalosti, a či sú vôbec pridané (či sa makro nepokúšate spustiť na už spracovanom zobrazení).
Tie "dátumy" a "čísla" v textových tvaroch by sa predsa mali previesť na skutočné dátumy a skutočné čísla vždy v rovnakých stĺpcoch pre každú udalosť, nie? Či každá udalosť má stĺpec na rovnakej pozícii ale s iným druhom dát???

To je ešte stále množstvo nezodpovedaných vecí...

Takže najlepšie by bolo, ak by ste sem vložil manuálne vytvorenú prílohu, s presne (!) vloženými zlúčenými udalosťami, napr. iba 3 udalosti s 1, 2, 3 riadkami reálnych dát (vymyslených, ale v takom formáte ako tam skutočne budú). A toto isté do druhej prílohy, ako to má presne (!) vyzerať po spracovaní.

Ono totiž veľmi záleží, či je to od 6 alebo prvého riadku, či od stĺpca C alebo Q, či 5 alebo 15 stĺpcov, či je počet stĺpcov rovnaký, či sú rovnakého formátu, či je variabilný aj počet udalostí, či sa prepisujú staré, alebo pridávajú stále vedľa, či je okolo týchto dát ešte niečo iné v okolných bunkách...

Musíte uviesť príklad tých tabuliek. Je to tabuľka alebo Tabuľka? Riadky spolu korešpondujú, alebo sa menia pozície? Počet riadkov rovnaký? Základné riešenie treba pomocou vzorcov, makrom, PowerQuery? ...

Nemám viac času. Vyskúšajte a doplňte pripomienky. Postupne ako som prichádzal na možné úskalia a prirábal ďalšie veci, sa makro stále len viac komplikovalo. Popis makra preto budem robiť až po úprave, nech to nerobím zbytočne.

Princíp je, že sa v cykle urobí pole, ktoré obsahuje subpolia s udalosťami. Tie sa následne vložia do tabuliek orámujú, zlúčia hlavičky a pod. Vytvoria sa čudlíky na skrývanie stĺpcov.

Tak skúste...

Pr.

To si tam dám iba nejaký znak (napr "?"), ktorý viem, že sa vo vzorci určo nevyskytne, a ten dám potom pomocou Replace hromadne nahradiť v reťazci mojou premennou "j"
alebo môžete použiť aj OFFSET/POSUN vo vzorci
"=když(COUNTIF(POSUN(G1:K1;" & j - 1 & ";);""a"")=5;""Hotovo"";""dělej"")"
alebo adresu do reťazca zobrať z hodnoty Range...Offset(...).Address približne:
"=když(COUNTIF(" & Sheets("List1").Range("G1:K1").Offset(j - 1, 0).Address & ";""a"")=5;""Hotovo"";""dělej"")"

Stačia 3 možnosti ? (z brucha bez skúšky):
"=když(A(G" & j & "=""a"";H" & j & "=""a"";I" & j & "=""a"";J" & j & "=""a"";K" & j & "=""a"");""Hotovo"";""dělej"")"
Replace("=když(A(G?=""a"";H?=""a"";I?=""a"";J?=""a"";K?=""a"");""Hotovo"";""dělej"")", "?", j)
"=když(COUNTIF(G" & j & ":K" & j & ";""a"")=5;""Hotovo"";""dělej"")"

Alebo tam nechajte SUM() ako je, ale zmeňte Formát bunky napr. na :
General;General;;@

Tak si to vyskladajte cez IF a MATCH:
=IF(NOT(ISERROR(MATCH($T16;$P$16:$P$19;0)));$D$18:$D$20;IF(NOT(ISERROR(MATCH($T16;$P$26:$P$27;0)));$D$28:$D$30;""))
=KDYŽ(NE(JE.CHYBHODN(POZVYHLEDAT($T16;$P$16:$P$19;0)));$D$18:$D$20;KDYŽ(NE(JE.CHYBHODN(POZVYHLEDAT($T16;$P$26:$P$27;0)));$D$28:$D$30;""))

Dal by som to do Definovaného Názvu, ten do Overenie dát.
Ale odporúčam aj farebnú kontrolu cez Podmienené formátovanie s kontrolou MATCH, či sa nachádza v už vybraná hodnota v zozname danom tým počítaným Definovaným názvom. Z prostého dôvodu. Ak zmeníte modrý, v žltej bunke ostane pôvodne vybraná hodnota z predchádzajúceho zoznamu, aj keď je nad bunkou už vypočítaný nový zoznam.

EDIT:
Pridaná príloha s príkladom aj toho Podmieneného formátovania, kde je aj iný príklad, nie cez MATCH ale cez COUNTIF.

=SUMIFS(T:T;R:R;">="&DATE(YEAR(TODAY());1;1);R:R;"<="&DATE(YEAR(TODAY());12;31))
=SUMIFS(T:T;R:R;">="&DATUM(ROK(DNES());1;1);R:R;"<="&DATUM(ROK(DNES());12;31))

Sub T()
With Worksheets("Home")
DoData = Format(.Range("B1").Value, "d.m.yyyy")
OdData = Format(.Range("B3").Value, "d.m.yyyy")
With .ChartObjects("Graf 2").Chart.PivotLayout.PivotTable.PivotFields("Datum")
.ClearLabelFilters
.PivotItems("(blank)").Visible = False
.PivotFilters.Add2 Type:=xlCaptionIsBetween, Value1:=OdData, Value2:=DoData
End With
End With
End Sub


Ja by som si ale previedol ten "dátum" na dátum a potom by to bolo
Sub T()
With Worksheets("Home")
DoData = CDbl(.Range("B1").Value)
OdData = CDbl(.Range("B3").Value)
With .ChartObjects("Graf 2").Chart.PivotLayout.PivotTable.PivotFields("Datum")
.ClearLabelFilters
.PivotItems("(blank)").Visible = False
.PivotFilters.Add2 Type:=xlDateBetween, Value1:=OdData, Value2:=DoData
End With
End With
End Sub

Chýba Vám tam ukončenie chodu makra pred "Copy:". Vám teraz makro za každých okolností pokračuje za podmienkou If.

musíte dať buď
...
End If

Exit Sub

Copy:
...


alebo, ak sa má Copy: správa iba preskočiť a makro pokračuje za ňou tak napr.
...
End If

GoTo Pokracuj

Copy:
MsgBox "kopírujem"

Pokracuj:
...


alebo tú správu a iné veci, čo chcete v jednotlivých prípadoch urobiť, urobte rovno v If Then Else

+-, ale veľmi bude záležať čo, kam, a koľkokrát budete logovať, zápis logu naraz alebo po jednom...

Vy chcete vypísať zoznam prvých neprejdených dátumov? V to prípade nemôžete brať do úvahy prvý riadok oblasti, ale prvý neprejdený, čo môže byť aj tretí a pod. Alebo za každých okolností vždy prvý? Napadlo ma, a čo tak to urobiť pri každom prepočítaní makrom? Rovnako ako očerveňovanie tlačítka?
Tie oblasti budú vždy rovnaké (počet, veľkosť, umiestnenie)?

Zmenené Podmienené formátovanie, zoraďovacia procedúra, volanie makier, doplnené hľadanie danej bunky do bunky pod tlačítko, prefarbenie tlačítka, zmena výberového zoznamu...

Ak máte hľadaný výraz v C1 a prehľadávané výrazy v A a lat. v B tak napr.:
=IFERROR(VLOOKUP(C1;A2:B100;2;FALSE);"")
=IFERROR(SVYHLEDAT(C1;A2:B100;2;NEPRAVDA);"")


Strana:  1 ... « předchozí  51 52 53 54 55 56 57 58 59   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