Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  134 135 136 137 138 139 140 141 142   další » ... 286

To musíte priložiť názornú prílohu, aby sme tušili ako to vyzerá, a čo chcete dosiahnuť...
Zaregistrujte sa, a potom môžete priložiť prílohu do veľkosti 256 KB. Ak je to XLSM, tak za-ZIP-ovať (prípadne použite GoogleDrive a pod.)

A robíte to určite správne ? Akú máte verziu Office ?

No neviem, ale mne teda jeden vzorec, napr.
=MAX(COUNTIF(bunka s textom;"*"&oblasť hľadaných hodnôt&"*"))>0
nepríde absolútne zložitý.

EDIT: A v tom makre inak pozor. Takto to InStr nemôže byť, lebo je to CaseSensitive. Musí to byť:
InStr(1, sCo, cell, vbTextCompare)
aby to našlo aj "Prac" aj "prac". A vracal by som Boolean, nie Variant 0/1. Ja by som navyše zmenil oblasť na pole, pretože mám proste polia rád a sú väčšinou rýchlejšie. I keď tu by to zrovna v prípade, že bude nájdený pozitívny výsledok v prvých 2 bunkách, platiť nemuselo.
Function PROHLEDEJ(sCo As String, oblast As Range) As Boolean
Dim cell As Range
Dim retezec As String
Application.Volatile
If Len(sCo) = 0 Then Exit Function
For Each cell In oblast
retezec = cell.Value2
If Len(retezec) > 0 Then
If InStr(1, sCo, retezec, vbTextCompare) <> 0 Then
PROHLEDEJ = True
Exit Function
End If
End If
Next cell
End Function

Teraz pozerám, že ide asi o jednu Tabuľku a nie tabuľku, tak príklad aj tam...

V tom prípade to asi bez matice nepôjde. Funkciu matice tam vlastne plnia tie zložené zátvorky, ktoré znamenajú pole - teda maticu. Keď ich odstránime a nahradíme za oblasť, potrebujeme z tej oblasti dostať pole - teda vzorec urobiť maticový. Možno niekto dá nejaké riešenie nematicové, zatiaľ keď v ktoromkoľvek prípade zameníte {} zátvorkové pole za oblasť, a vzorec zadáte ako maticový Ctrl+Shift+Enter, bude pracovať správne. Ak sa chcete vyhnúť omylu pri zadávaní, dajte vzorec do Definovaného názvu, ale vtedy pozor na ktorom ste riadku, ak sa bude jednať o kontrolu na viac riadkoch. Všetko v príklade aj s dynamickou oblasťou.

Maticový vzorec
=SUM(IFERROR(SEARCH({"phm";"nafta";"oděv";"prac";"obuv"};M2);0))>0
=SUMA(IFERROR(HLEDAT({"phm";"nafta";"oděv";"prac";"obuv"};M2);0))>0

Nematicový vzorec
=SUM(COUNTIF(M2;{"*phm*";"*nafta*";"*oděv*";"*prac*";"*obuv*"}))>0
=SUMA(COUNTIF(M2;{"*phm*";"*nafta*";"*oděv*";"*prac*";"*obuv*"}))>0

alebo
=SUMPRODUCT(IFERROR(SEARCH({"phm";"nafta";"oděv";"prac";"obuv"};M2);0))>0
=SKALÁRNÍ(IFERROR(HLEDAT({"phm";"nafta";"oděv";"prac";"obuv"};M2);0))>0

alebo
=SUM(LEN(SUBSTITUTE(LOWER(M2);{"phm";"nafta";"oděv";"prac";"obuv"};"")))<>LEN(M2)*5
=SUMA(DÉLKA(DOSADIT(MALÁ(M2);{"phm";"nafta";"oděv";"prac";"obuv"};"")))<>DÉLKA(M2)*5

alebo
=MIN(LEN(SUBSTITUTE(LOWER(M2);{"phm";"nafta";"oděv";"prac";"obuv"};"")))<LEN(M2)
=MIN(DÉLKA(DOSADIT(MALÁ(M2);{"phm";"nafta";"oděv";"prac";"obuv"};"")))<LEN(M2)

alebo
=COUNT(SEARCH({"phm";"nafta";"oděv";"prac";"obuv"};M2))>0
=POČET(HLEDAT({"phm";"nafta";"oděv";"prac";"obuv"};M2))>0

a určite aj ďalšie :)

Skúsil som to na 2010 vo virtuálke a na 2019 na PC, ide to rovnako. V Exceli sa Vám bunka asi ani prekresľovať rýchlejšie ako tých 0,15 nebude.
Skúste toto:
Sub BezText()
Dim sTxt As String
Dim x As Integer
Dim bunka As Range
Dim delay As Single

On Error Resume Next
sTxt = " ****** Vitajte, pre zápis použi ponuku po stlačení pravého tlačítka myši! ******"
Set bunka = ActiveSheet.Range("B1")
Set TXT = ActiveSheet.Shapes("TXT").TextFrame2.TextRange

For x = 1 To 30
delay = Timer + 0.15
Do While Timer < delay
DoEvents
Loop
bunka = Space(x) & sTxt
DoEvents
Next x

Set bunka = Nothing
End Sub

=IF(OR(MONTH(A1)>10;MONTH(A1)<4);"zima";"leto")
=KDYŽ(NEBO(MĚSÍC(A1)>10;MĚSÍC(A1)<4);"zima";"leto")

Pridám ešte príklad, aby to bolo jasnejšie.

Ak sú všetky bunky vyplnené:
=SUM(--(((A3:A103<=A1)+(B3:B103=B1))>0))
=SUMA(--(((A3:A103<=A1)+(B3:B103=B1))>0))

Ak nemá započítavať nevyplnené bunky (lebo prázdna bunka je inak ako 0):
=SUM(--((((A3:A103<>"")*(A3:A103<=A1))+((B3:B103<>"")*(B3:B103=B1)))>0))
=SUMA(--((((A3:A103<>"")*(A3:A103<=A1))+((B3:B103<>"")*(B3:B103=B1)))>0))


Prípadne SUM/SUMA zamente za SUMPRODUCT/SOUČIN.SKALÁRNÍ a nemusí to byť maticový vzorec

Alebo index
=INDEX('nem CHOM'!B:B;B3)

Ja by som ich radšej skrýval naraz
Sub CheckAndHide()
Dim aColumn As Range, RNG As Range
Application.ScreenUpdating = False
With ActiveSheet.Columns("A:D")
.EntireColumn.Hidden = False
For Each aColumn In .Columns
If Application.Sum(aColumn) = 0 Then
If RNG Is Nothing Then Set RNG = aColumn Else Set RNG = Union(RNG, aColumn)
End If
Next
End With
If Not RNG Is Nothing Then RNG.EntireColumn.Hidden = True
Application.ScreenUpdating = True
End Sub


Treba to pri Change alebo pri Calculate alebo pri stlačení čudlíku ? ...

Dim DisableEvents As Boolean

Private Sub ComboBox1_Change()
If Not DisableEvents Then
DisableEvents = True
With ComboBox1
.Value = Format(Val(Replace(.Value, ",", ".")), "hh:mm")
End With
DisableEvents = False
End If
End Sub

Zadajte vzorec do prvého riadku, a potom len:
a) potiahnite z pravý spodný roh túto bunku dole, pokiaľ treba,
b) Ctrl+C na prvej bunke so vzorcom, označiť ostatné, Ctrl+V
c) Ak máte nejako inak formátované riadky, tak Ctrl+C, Označiť ostatné, pravý klik na označené, Možnosti prilepenia, Vzorce.

Ak by ste ho totiž chcel vkladať do všetkých naraz tak, že najskôr označíte všetky, a potom vložíte raz vzorec, tak musíte to A1 nahradiť za A1:Ax. A to x musí byť počet riadkov. Nie číslo riadku, ale počet riadkov. Aby ste sa nemýlil, bude lepšie jedno z tých a,b,c.

Pr.
Zas mi nejdú prikladať prílohy ???
Tu to je na GoogleDrive


Strana:  1 ... « předchozí  134 135 136 137 138 139 140 141 142   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