Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  7 8 9 10 11 12 13 14 15   další » ... 231

=SUBSTITUTE(B4;"dddd";TEXT(G10;"d.m.")&YEAR(G10))
=DOSADIT(B4;"dddd";HODNOTA.NA.TEXT(G10;"d.m.")&ROK(G10))

Naschvál som rozdelil dátum na "d.m." a YEAR(), aby to nerobilo problém pri inej jazykovej mutácii Excelu. V CZ totiž rok nie je "yyyy" ale "rrrr", a to robí pri prípadnej multijazyčnosti problém.

Aleb dajte tej bunke vlastný formát
"V Praze, dne" d.m.yyyy
a do bunky iba vzorec
=G10
prípadne si to ošetrite na možnosť nevloženia žiadneho dátumu
=IF(G10="";"";G10)
=KDYŽ(G10="";"";G10)

prípadne to ošetrenie môžete urobiť priamo v tom formáte
"V Praze, dne" d.m.yyyy;;;
možností je habadej ...

Google prvý odkaz

Riešením by bolo aj to, aby ten text bol vo formáte bunky, a nie pred vzorcom. Takže Vlastný formát
"Celkový zisk v CZK:"•
# ##0,00

kde namiesto tej guličky • dáte Alt+010. V bunke bude následne iba číslo podľa vzorca
=SUBTOTAL(9;F2:F1000)
Nevýhoda je (neprišiel som na to ako to obísť), že musíte tie 2 stĺpce so SUBTOTAL rozšíriť na celkovú šírku takú, akú by mal vypisovaný text s číslom spolu, aj keď sú pod sebou. Odhadom asi o 1,5 cm.

Jednoducho pomocným stĺpcom

Milan-158 napsal/a:

...anebo v momentě když si to nepřejeme, to potlačit pomocí Application.EnableEvents = False...

Musím Vás opraviť. Toto pri formulári VBA nefunguje. Na nevykonanie onChange používam globálnu premennú napr.
Dim bEnableEvents as Boolean
a následne v onChange hneď na začiatku testujem či je
If bEnableEvents Then
... vaše makro onchange ...
End If

a pritom bEnableEvents nastavím na False vždy pred volaním procesu, ktorý spôsobí "nechcenú" zmenu. Po dokončení naspäť na True.

Sub Ocisluj()
Dim N As Long
N = 1
Worksheets("Hárok1").Range("A1").Resize(N).Value = Evaluate("=ROW(1:" & N & ")*10")
End Sub

Prílohu som nevidel, skúsim od boku z mobilu bez skúšky:
TextBox1.Text = Left(TextBox1.Text, Len(TextBox1.Text) - 1)

A čo je na tom príklade inak, ako píšete ???

Sub TiskDoPdf()
Dim Mesic As Integer
Mesic = Sheets("Měsíc").Range("A1").Value

Sheets("Doplnění").PageSetup.PrintArea = Range("A1:G50").Offset(0, (Mesic - 1) * 8).Address
Sheets(Array("sm. A", "sm. B", "sm. C", "sm. D", "Doplnění")).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Sheets("Měsíc").Range("A2").Value & Mesic & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
Sheets("Docházka").Select
End Sub

Evidentne sa jedná o rovnako veľké oblasti a sú len posunuté. Ak sú posúvané rovnomerne, tak stačí jednoduchý Offset.
Niečo na spôsob:
PRVÁ_CIEĽOVÁ_OBLASŤ.Offset(0, X - 1).Value = ZDROJOVÁ_OBLASŤ.Value
a nie je treba pole...

??? Pole oblastí ??? Alebo o čo ide ?
Sub Kopiruj_do_oblasti_X()
Dim OBLAST() As Range
Dim X As Integer

ReDim OBLAST(1 To 3)
With List16
Set OBLAST(1) = .Range("D8:D19") 'naplnenie poľa oblastí, pri väčšom množstve cyklom
Set OBLAST(2) = .Range("E8:E19")
Set OBLAST(3) = .Range("F8:F19")

X = .Range("D4").Value 'index oblasti X

If IsNumeric(X) Then 'zápis zdroju do oblasti X
If X >= LBound(OBLAST) And X <= UBound(OBLAST) Then OBLAST(X).Value = .Range("C8:C19").Value
End If
End With

'Ak ide len o priradenie zdroju C9:C19 do premennej Range podľa X, a nie o kopírovanie hodnôt potom stačí:
'Set OBLAST(X) = List16.Range("C8:C19")
'ale tu nepoznáme presné použitie, o čo ide ...
End Sub

foundRange je 1 bunka? Je v tom istom riadku ako dátum? Je to naozaj dátum alebo text? ... Malo by to fungovať ...
Príloha

Cez OFFSET/POSUN sa dá nastaviť veľkosť oblasti (3. a 4. parameter), alebo INDIRECT/NEPŘÍMÝ.ODKAZ.
Príklad:
=AVERAGE(IF(WEEKDAY(OFFSET($N$1;;;D2);2)=C5;OFFSET($M$1;;;D2)))
=PRŮMĚR(KDYŽ(DENTÝDNE(POSUN($N$1;;;D2);2)=C5;POSUN($M$1;;;D2)))

No tak dajte priemer všetkých hodnôt (maticovo):
=AVERAGE(IF(data!B:B=A3;data!E:E))
=PRŮMĚR(KDYŽ(data!B:B=A3;data!E:E))

alebo väčšia konštrukcia bez matice a s kontrolou iba skutočne zaplnených oblastí, nie celých stĺpcov (pretože dátumy sú zoskupené):
=AVERAGE(OFFSET(data!$E$2;MATCH(A3;OFFSET(data!$B$3;;;COUNT(data!B:B));0);;COUNTIF(OFFSET(data!$B$3;;;COUNT(data!B:B));A3)))
=PRŮMĚR(POSUN(data!$E$2;POZVYHLEDAT(A3;POSUN(data!$B$3;;;POČET(data!B:B));0);;COUNTIF(POSUN(data!$B$3;;;POČET(data!B:B));A3)))

Prípadne to zjednodušiť tak, že sa dá aspoň ten jeden OFFSET do def. názvu OBLAST
=OFFSET(data!$B$3;;;COUNT(data!B:B))
=POSUN(data!$B$3;;;POČET(data!B:B))

a následne
=AVERAGE(OFFSET(data!$E$2;MATCH(A3;OBLAST;0);;COUNTIF(OBLAST;A3)))
=PRŮMĚR(POSUN(data!$E$2;POZVYHLEDAT(A3;OBLAST;0);;COUNTIF(OBLAST;A3)))

prípadne obdobne ...

Áno, v nových Office to je, v starších treba nahradiť maticovým vzorcom.


Strana:  1 ... « předchozí  7 8 9 10 11 12 13 14 15   další » ... 231

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

cislovanie riadkov

martin1 • 18.1. 20:47

Podmíněné formátování

Baja • 18.1. 18:55

VBA - načtení dat ze souboru s proměnným názvem

Fantasyk • 18.1. 14:29

zápis čísla fce suma

Stalker • 18.1. 13:17

smazání více obrázků

Zdenda-R • 18.1. 9:47

výpis adresáře

Milan-158 • 18.1. 9:31

zápis čísla fce suma

Josef-Sekan • 18.1. 9:26