Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  62 63 64 65 66 67 68 69 70   další » ... 289

To pôjde len makrom.
Vy chcete vyberať CSV súbor ale tu je v prílohe XLSX súbor, takže:
-Čím sú v origo CSV oddelené stĺpce?
-Ako v ňom vyzerá desatinné číslo (oddeľovač desatín aj tisícov)?
-Ako vyzerá dátum?
-Aké formáty sú v nezaplnených stĺpcoch?

Najlepšie priložiť taký CSV so spomenutými druhmi dát, bez citlivých údajov, s aspoň 2 riadkami.

Pokus pomocou PQ. Nakoľko sa v XLSX súboroch nenachádza info "Kategorie", tak som musel tak či tak načítať www a potiahnuť to odtiaľ. A keď už som ju mal natiahnutú, tak som odtiaľ zobral aj zvyšok. Problém bol pri tom, že nie všetci športovci majú rovnaký počet Tabuliek vo svojom profile. No snáď to pôjde. Alebo aspoň ako inšpirácia.

Ak sa niekomu chce s tým ešte hrať, prosím mrknite, ako by ste vyriešili napr. tieto veci:

-Nemôžem prepojiť ktAtleti a ktSouteze tak, aby SmartFilter bral mená z ktAtleti (alebo patričného dotazu, či z dátového modelu) a filtroval ktSouteze, kde meno nieje, ale je tam prepojené číslo.

-Ak dám robiť súčet súťaží pre atléta (posledný počítaný stĺpec), skryje mi atléta, ktorý nemá žiadnu súťaž (Filip Litavský) - nežiadúce, lebo chceme vidieť info o atlétovi, aj keď nemá súťaž - nech dá 0.

Už sa mi nechce dumať ...

Pýtam sa preto, lebo premýšľam ako by sa to dalo urobiť cez PowerQuery. PQ si načíta aj tú stránku aj ten XLSX. Na stránke sú objekty Tabuľka. Takže by sa dali vyselektovať nejaké data z nich za predpokladu, že je u každého športovca identická skladba týchto Tabuliek (aj keď sú prázdne). Teda, že Tabuľka2 obsahuje vždy rovnaký typ dát. Obdoba pri tom XLSX, kde sa budú hľadať riadky s určujúcim slovom. To slovo tam musí byť. V PQ by sa to dalo totiž bez nutnosti otvárať stránku alebo súbor XLSX. Len je potrebné dopredu vedieť, ktoré údaje (ktoré Tabuľky a ktoré stĺpce v nich) sa majú zahrnúť do výsledku. No nebude to vytvárať pre každého športovca vlastnú tbl, ale jednu spoločnú, ktorú následne podrobíte analýze.

Ale je to len nápad ... nič žiaľ nemôžem prisľúbiť.

Aké dáta by ste z toho potreboval? Lebo asi len o "jméno" + "rok" + "kategorie" + "počet závodů" nepôjde, či?

Mám to rovnako akurát cez WORKDAY.INTL. Ale ak to bude pre rôzne roky, tak to takto jednoducho a elegantne nepôjde. Bude potrebná buď rozsiahla tabuľka dátumov na všetky dotknuteľné roky, alebo výpočet poľa sviatkov s variabilným rokom. Takže napr. si urobiť súhrnný reťazec sviatkov s dosaditeľným rokom a ten nasekať v matici a previesť cez DATEVALUE. No tu môže nastať problém v lokálnom nastavení PC (EU vs UK/US).
Príloha by neuškodila, možno bude treba zohľadniť aj množstvo dát.

EDIT: Tak príklad, nakoniec som nepoužil spájanie a rozdeľovanie cez text.

Všetko funguje správne. Vzorce sú automaticky preložené. Viď predošlý screen. Zadávať ich musíte ako LocalFormula. Ale ak sú už zadané, očividne sa menia automaticky.

Záleží predsa na tom, či sú všetky termíny v tom istom roku ako máte sviatky. Ak máte zadané sviatky 2021 a termín máte 1.5.2023 tak to logicky fungovať nebude. To treba riešiť zložitejšie. Niekedy som to sem už dával. Ak to bude treba niečo vytvoríme...
Príloha by bodla (bez citlivých dát).

Vy potrebujete meniť funkčnosť vzorcov v PF? Ak nie, tak podľa mňa netreba robiť so vzorcami nič. Ak sú vzorce zadané, tak si ich každý Excel prečíta správne. Iné je, ak chcete vzorce meniť podľa potreby zmeny funkčnosti. Vtedy treba vzorce meniť makrom s prihliadnutím na lokalizáciu. Inak nie. Ak potrebujete iba zmeniť farby PF, tak tiež netreba brať ohľad na lokalizáciu, lebo môžete zmeniť iba vlastnosť
Oblast.FormatConditions(1).Interior.Color = Bunka.Interior.Color
potom ...FormatConditions(2)... a ...FormatConditions(3)...

PS: Inak máte tam zbytočný PF pre F35, navyše s chybou #ODKAZ.

Mám E2019 SK a vzorce PF vidím takto:

Sub Kopiruj_vzorce()
With Worksheets("Vstupní data")
.Range("A6:B99").Formula = .Range("A6:B6").Formula
End With
End Sub

Ak je otvorený:
Sub Kopiruj()
Dim Stary As String

Stary = "Starý zdroj.xlsx"

If MsgBox("Zkopírovat data na listu Počet obyvatel?", vbQuestion + vbYesNo) = vbYes Then
ThisWorkbook.Worksheets("pomocný").Range("B6:C6").Value = Workbooks(Stary).Worksheets("pomocný").Range("C6:D6").Value
'Else 'Podľa potreby
' Exit Sub
End If
End Sub

a ak je zatvorený:
Sub Kopiruj2()
Dim Stary As String

Stary = "='E:\[Starý zdroj.xlsx]pomocný'!C6"

If MsgBox("Zkopírovat data na listu Počet obyvatel?", vbQuestion + vbYesNo) = vbYes Then
With ThisWorkbook.Worksheets("pomocný").Range("B6:C6")
.Formula = Stary
.Value = .Value
End With
'Else 'Podľa potreby
' Exit Sub
End If
End Sub

dá sa to nakombinovať rôzne.

Makrom ?
(do modulu Tento_zošit / ThisWorkbook)
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim WS As Worksheet, PS As PageSetup

Cancel = True
Application.EnableEvents = False
For Each WS In ThisWorkbook.Worksheets
Set PS = WS.PageSetup
With PS
.PrintArea = "A1:I51"
.Orientation = xlPortrait
WS.PrintOut
.PrintArea = "A52:N78"
.Orientation = xlLandscape
WS.PrintOut
End With
Next WS
Application.EnableEvents = True
End Sub


Sub Tlac()
Workbook_BeforePrint True
End Sub

Skúste
=IF($B2<>1;MAX($A$1:$A1)&CHAR(97+COUNTIF($A$1:$A1;MAX($A$1:$A1)&"?"));MAX($A$1:$A1)+1)
=KDYŽ($B2<>1;MAX($A$1:$A1)&ZNAK(97+COUNTIF($A$1:$A1;MAX($A$1:$A1)&"?"));MAX($A$1:$A1)+1)

Čo je určujúci faktor, kedy nastane zmena v číslovaní? Odkiaľ ten stĺpec vie že má meniť pri pridaní riadku za 1 v tomto prípade:
1, 2, 2a
na toto
1, 1a, 2, 2a
alebo toto
1, 2, 3, 3a
alebo
1, 2, 2a, 2b
???

To čo spomínate v dotaze je, že PQ má zistiť názov súboru - sám seba. Podľa toho "Políčko/hledat". Meno/umiestnenie seba samého asi PQ priamo nevie zistiť.

To čo hovoríte následne zase vyzerá, akoby ste mal nejaký riadiaci/analyzačný súbor s PQ dotazom, a každý mesiac do neho načítaval iný súbor. Exportovaný z nejakého SW. To je niečo iné, lebo v PQ nastavte cestu k adresáru, kde budú tie súbory. V PQ vhodným filtrom (napr. v názve je dátum, tak najnovší) načítate len jeden, a jeho meno si uchováte.

To je tipovačka. Treba bližšie info a prílohu.

Urobil som si pole reťazcov - názvov stĺpcov.
Môžem dať aj
Stlpy = Array("D", "G", "H", "I", "J", "K")ale potom musí byť deklarácia ako Variant
Dim Stlpy()a volanie doplnené o CStr()
Spracuj_Stlpec CStr(Stlpy(i))
inak funkcia Split predsa rozdeľuje reťazec na základe rozdeľovača.
Reťazec "D,G,H,I,J,K" je 1. parameter funkcie.
Oddeľovač "," je 2. parameter funkcie.
A parametre sú oddelené čiarkou.
To je fuk aký si dám oddeľovač textu, napr. aj medzeru
Stlpy = Split("D G H I J K", " ")


Strana:  1 ... « předchozí  62 63 64 65 66 67 68 69 70   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