Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  81 82 83 84 85 86 87 88 89   další » ... 302

Tak ak nemôžete neustále prispôsobovať dáta, tak prispôsobte vzorec, aby hľadal textodátum. Takéto niečo hľadá dd.mm.yyyy (to "yyyy" tam ale nadávajte !) ak tam nemáte "0" tak dajte vo vzorci d.m.
=HLOOKUP(TEXT(C3;"dd.mm.")&YEAR(C3);List1!$C$2:$AG$33;MATCH(B3;List1!$B$3:$B$33;0)+1;FALSE)
=VVYHLEDAT(HODNOTA.NA.TEXT(C3;"dd.mm.")&ROK(C3);List1!$C$2:$AG$33;POZVYHLEDAT(B3;List1!$B$3:$B$33;0)+1;NEPRAVDA)

Veľkosť aktuálneho rozsahu je možné tiež zisťovať aj vzorcom. A ten pohodlný (pardon "pohodový") zamestnanec už nemusí urobiť ani prd 1
Na to je ale potreba priložiť prílohu, ako sú dáta presne umiestnené, offsetované, aby sa dal urobiť vzorček...

Mne sa to viac opticky pozdáva s pridaným ďalším bielym riadkom. Nemôžem si pomôcť. Ale kľudne Vám tam nechám len tie čierne.
Každopádne stále tu bude jeden problém. Posunul som hlavičku a pätu tak, aby ste to videl. Mrknite, kde začína a kde pokračuje posledná tbl. Toto je riešiteľné asi iba kontrolovaným usporadúvaním jednotlivých tabuliek v makre. Kde bude tlačiť makro, nie Vy (!), lebo si musí najskôr rozmiestniť tabuľky, potom skontrolovať vyjdené zlomy strán, a posúvať ich aby tabuľka, ktorej vychádza na stranu iba hlavička, začala na ďalšej.
Ak je ale určenie "pripináčkovanie na vývesku", tak je to jedno.

Aha, neviem kam som pozeral a prečo som si myslel, že to má byť samostatne na stranách. OK, takže oddeľovací riadok je ten čierny alebo mám pridať ďalší?

"JirkaJH" napsal/a:

...upravovat to nějak ručně je hrozný opruz...

Práveže nič neupravujete, nemusíte ani zoraďovať.
1. Vyplníte údaje
2. 1 klik na slovo "Viditeľné"
3. Vytlačíte klasicky Ctrl+P alebo Súbor - Tlač alebo máte tlačítko v hornej lište
4. Vyberiete z papierov prípadné prázdne listy (ak kategórie niesú obsadené), tie listy dáte neskôr naspäť do tlačiarne

Mám tu rozrobených už toľko vecí, nechce sa mi ďalšie makro začíbať ... po pravde ...

Napadla ma aj možnosť bez makra. OneClick riešenie. Iba pre aktualizáciu kliknete na "Viditeľné". Radí to vzorcom. A potom tlačíte. Tu je ale problém, že z tlačiarne vyjdú prázdne strany na tabuľkách, ktoré neobsahujú dáta. Sú síce neviditeľné, ale sú tam pevné zlomy strán :(
Nenapadá ma riešenie tohto neduhu, lebo vypočítavaná oblasť tlače nemá v Exceli spoľahlivú životnosť (prepíše ju o chvíľu natvrdo). A ak by sa to urobilo aj cez PowerQuery, alebo plus kontingenčka, nedostanete Vaše rozloženie a formátovanie. Lebo vždy sa dostanete do bodu tlače, keď nebudú sedieť zlomy, výška hlavičky, umiestnenie kategórie...

Napadá niekoho niečo?

Asi fakt jedine makrom...

PS: Odhesloval som si to, a následne zahesloval, list s heslom zmazal, všetky makrá tiež.

Maticový vzorec (Ctrl+Shift+Enter):
=INDEX(Ceník!$C$2:$C$8;MATCH(1;(Ceník!$A$2:$A$8=A2)*(Ceník!$B$2:$B$8=B2);0))
=INDEX(Ceník!$C$2:$C$8;POZVYHLEDAT(1;(Ceník!$A$2:$A$8=A2)*(Ceník!$B$2:$B$8=B2);0))

alebo normálny, ale iba pre prípad, že sú zoskupené IČ aj Kódy:
=INDEX(Ceník!$C$2:$C$8;MATCH(B2;OFFSET(Ceník!$B$1;MATCH(A2;Ceník!$A$2:$A$8;0);;COUNTIF(Ceník!$A$2:$A$8;A2));0)+MATCH(A2;Ceník!$A$2:$A$8;0)-1)
=INDEX(Ceník!$C$2:$C$8;POZVYHLEDAT(B2;POSUN(Ceník!$B$1;POZVYHLEDAT(A2;Ceník!$A$2:$A$8;0);;COUNTIF(Ceník!$A$2:$A$8;A2));0)+POZVYHLEDAT(A2;Ceník!$A$2:$A$8;0)-1)

EDIT:
Ešte ma napadol jeden normálny nematicový, keď nemusia byť zoskupené, ale musí byť dodržané, že IČ a Kód nie sú nikdy rovnaké, a dvojica sa v cenníku vyskytuje iba 1x:
=INDEX(Ceník!$C$2:$C$8;MATCH(2;MMULT(COUNTIF($A2:$B2;Ceník!$A$2:$B$8);{1;1});0))
=INDEX(Ceník!$C$2:$C$8;POZVYHLEDAT(2;SOUČIN.MATIC(COUNTIF($A2:$B2;Ceník!$A$2:$B$8);{1;1});0))

Vlastnosť UserForm-u
ShowModal = False

=INDEX(Ceník!$B$1:$H$1;;MATCH(B2;OFFSET(Ceník!$B$1:$H$1;MATCH(A2;Ceník!$A$2:$A$8;0););0))
=INDEX(Ceník!$B$1:$H$1;;POZVYHLEDAT(B2;POSUN(Ceník!$B$1:$H$1;POZVYHLEDAT(A2;Ceník!$A$2:$A$8;0););0))

Prípadne o kúsok kratší:
=LOOKUP(B2;OFFSET(Ceník!$B$1:$H$1;MATCH(A2;Ceník!$A$2:$A$8;0););Ceník!$B$1:$H$1)
=VYHLEDAT(B2;POSUN(Ceník!$B$1:$H$1;POZVYHLEDAT(A2;Ceník!$A$2:$A$8;0););Ceník!$B$1:$H$1)

Ja neviem chlapi. Napadlo ma takéto UDF. Vyznačil som tam jednu chybu, ktorú neviem eliminovať. Skúste:
Public Function GET_ANIMALS(Text As String, Mesto As String) As String
Dim S() As String, C() As String, i As Long, x As Long, PocetC As Long, PocetS As Long, bValidA As Boolean

S = Split(WorksheetFunction.Trim(Text), WorksheetFunction.Trim(Mesto) & ": ")
If UBound(S) = 0 Then Exit Function
S = Split(Split(S(1), ": ")(0), " a ")
PocetS = -1

For i = 0 To UBound(S)
C = Split(S(i), " ")
PocetC = -1
bValidA = False

For x = 0 To UBound(C) Step 2
If x + 1 <= UBound(C) Then
bValidA = (IsNumeric(Left(C(x), 1)) And Not IsNumeric(Left(C(x + 1), 1))) Or (Not IsNumeric(Left(C(x), 1)) And IsNumeric(Left(C(x + 1), 1)))
Else
bValidA = False
End If

If bValidA Then
PocetC = x + 1
Else
If PocetC = -1 Then PocetC = 0
Exit For
End If
Next x

If PocetC > -1 Then
ReDim Preserve C(PocetC)
S(i) = Join(C, " ")
PocetS = PocetS + 1
Else
Exit For
End If
Next i

If PocetS > -1 Then
ReDim Preserve S(PocetS)
GET_ANIMALS = Join(S, " a ")
End If
End Function

To ja som opačne. Kedysi čierne kučery, dnes rovný sivovlas 5
No a tie data - čumím na to ako Ďuro do makových slížov, a nevidím žiadnu "schému", ktorá by sa dala spoľahlivo dešifrovať. Rozdeliť cez ":" nie je prob. Ten nastane keď nevieme od seba rozlíšiť 2 druhy ostatných údajov. Ani medzerou, ani číslom, ani číslom spolu s "x" (raz pred, raz za), ani veľké/malé písmeno, nič... 7

Pozrite na prílohu. Také jednoduché to nieje. Môže nastať viac situácií, na ktoré treba pri tom PF myslieť. Napr. je to prvý mesiac (žiadny mu nepredchádza), nejaký mu predchádza, prenáša sa nejaký počet dní alebo žiadne, COUNTIF na OFFSET treba podmieniť, a OFFSET treba ošetriť kvôli chybám, a prípadnej nesprávnej oblasti. Bolo potrebné riešiť CZ názvy listov. Zobrazujú sa iba korektné dni daného mesiaca. Urobil som Vám aj sviatky. Hrubá čiarka pred "T" bežne cez PF nejde. A pod...

Takto???
=7-(EOMONTH($A$1;0)-LOOKUP(2;1/(D3:AH3="T");$D$2:$AH$2)+1)
=7-(EOMONTH($A$1;0)-VYHLEDAT(2;1/(D3:AH3="T");$D$2:$AH$2)+1)


Prípadne celé takto, v prílohe.

pr.:
Sub ColoringText()
Dim myRange As Range, D()
Dim substr As String, endstr As String
Dim txtColor As Long, x As Long, y As Long, Pos As Long, endPos As Long, startPos As Long, LenEndStr As Long

Set myRange = Worksheets("Hárok1").Range("A1:A100")
If myRange.Cells.Count > 1 Then D = myRange.Value Else ReDim D(1, 1): D(1, 1) = myRange.Value

substr = "Nezapsané prostoje-"
endstr = "min"
txtColor = 3
LenEndStr = Len(endstr)

For y = 1 To UBound(D, 1)
For x = 1 To UBound(D, 2)
Pos = 1
Do
startPos = InStr(Pos, D(y, x), substr, vbTextCompare)
If startPos <> 0 Then
endPos = InStr(startPos, D(y, x), endstr, vbTextCompare)
If endPos <> 0 Then
myRange.Cells(y, x).Characters(Start:=startPos, Length:=endPos - startPos + LenEndStr).Font.ColorIndex = txtColor
Pos = endPos + LenEndStr
End If
End If
Loop Until startPos = 0 Or endPos = 0
Next x
Next y
End Sub

@ Jiří497 : Tiež ste si všimol, že jedna veta je po slovensky a druhá po česky? 5


Strana:  1 ... « předchozí  81 82 83 84 85 86 87 88 89   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