Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  121 122 123 124 125 126 127 128 129   další » ... 289

Každý riadok každého listu má samostatne počítaný zoznam s podmieneným formátom na upozornenie na chybu.

Takto ako by ste to chcel, funkcie v Exceli nefungujú. Nemôžete si poskladať reťazec parametrov, a ten reťazec vložiť ako počítanú hodnotu do vzorca, nech si ho preberie. On potrebuje už samotné parametre, nie reťazec parametrov.

Každopádne, ak by ste nepotreboval to pridané meno, tak by ste mohol použiť Kontingenčnú tabuľku, ktorá je presne na to určená.

Ale keďže požadujete pridať občas nejaké meno, tak proste použite vzorec, ktorý máte na spočítanie podľa obyvateľov domu, ten Vám funguje, a pripočítajte k nemu ešte raz rovnaký vzorec, ale parameter bude to pridané meno. Ale to je stále maticové.

Ďalej je možné tento vzorec (2 vzorce medzi ktorými je "+") vložiť do Definovaného názvu. A potom do listu vkladáte už nematicový Definovaný názov. A basta.

ALE! Prečo teda nemáte v tých dátach jasne identifikovaný Dom. Ak by ste tam mali Dum1, Dum2,... Tak zrátate dom, a je šumák, či tam teda býva (je v zozname), ale tam býval (nieje v zozname).

Mne to chybu nedáva. To neznamená, že je makro správne (nevhodnosť postupu akým makro pracuje teraz neriešim). Priložte prílohu s reálnym príkladom. Citlivé dáta zmente a zredukujte. Ale nemente formáty ani umiestnenia ani názvy listov a pod.

Skúste to viac objasniť. Ja som vôbec nepochopil, prečo chcete prevádzať oblasť s podmienkami pre súčet, na reťazec napodobujúci reťazec vzorca. To tak nefunguje. Ak máte nejaký text v jednej bunke, a chcete zrátať iba hodnoty v bunkách C, pri ktorých v B je časť daného textu (iba časť!), tak maticový vzorec a FIND/NAJÍT. Ale to by ste musel popisovať Vašu situáciu presne opačne ako ju popisujete. Takto to nedáva zmysel.
Maticový vzorec bez zmyslu (Ctrl+Shift+Enter):
=SUM(IF(NOT(ISERROR(FIND(CHAR(34)&B6:B13&CHAR(34);CHAR(34)&TEXTJOIN(CHAR(34);TRUE;B2:B4)&CHAR(34))));C6:C13))

=SUMA(KDYŽ(NE(JE.CHYBHODN(NAJÍT(ZNAK(34)&B6:B13&ZNAK(34);ZNAK(34)&TEXTJOIN(ZNAK(34);PRAVDA;B2:B4)&ZNAK(34))));C6:C13))

Čo chcete robiť s tým makrom "Odemknout" (pôvodný názov "Makro1") ?
To označovanie B12 po každej zmene je nevhodné pri vpisovaní viac nových riadkov - skáče Vám kurzor inde, ako chcete písať.
Mali ste tam obrovské množstvo riadkov a stĺpcov, preto to bol taký veľký súbor.
Premýšľam, či by nebolo vhodnejšie použiť samostatné objekty Tabuľka (ListObject). Celý ten spôsob je taký divný a náchylný k chybe.

Všetko som pozmenil, prezrite...

Makrom sa to samozrejme dá, ale ak by to bolo možné použil by som radšej filter. Tu je príklad makra, maže a posúva samozrejme aj riadky v JK. Nič zatiaľ nezoraďuje, lebo neviem na základe čoho, iba ich súka pod seba.
Sub VymazHodnoty()
Dim JK(), BK(), V(), VJK(), R As Long, i As Long, VR As Long, y As Byte

With ThisWorkbook.ActiveSheet
R = .Cells(Rows.Count, "B").End(xlUp).Row
If R = 1 Then
ReDim JK(1 To 1, 1 To 1): JK = .Cells(1, "JK").Value
Else
JK = .Cells(1, "JK").Resize(R).Value
End If

BK = .Cells(1, "B").Resize(R, 10).Value
ReDim V(1 To R, 1 To 10)
ReDim VJK(1 To R, 1 To 1)

For i = 1 To R
If StrComp(JK(i, 1), "ano", vbTextCompare) <> 0 Then
VR = VR + 1
For y = 1 To 10
V(VR, y) = BK(i, y)
Next y
VJK(VR, 1) = JK(i, 1)
End If
Next i

.Cells(1, "B").Resize(R, 10).Value = V
.Cells(1, "JK").Resize(R).Value = VJK
End With

End Sub

No "hrozí" je hrozné slovo :) Bez výberového zoznamu sa môže stať akurát to, že užívateľ zadá nečíslo (znaky, medzery, dve desatinné čiarky a pod...), potom mu síce výsledok bude chybová hodnota "#HODNOTA", ale toho si nemusí všimnúť, takže by som tam dal Podmienené formátovanie s testom chybovej hodnoty v J63. A na červeno by sa zafarbili všetky zúčastnené bunky, teda H22, J63, J65.
No problemo. A keď už si niekto nevšimne krikľavo červené bunky, tak to už je jeho prob.

Ešte teda ten príklad na ten Výberový zoznam.

No buď to bude menené tým ComboBoxom v K22, alebo Výberovým zoznamom v H22. Teraz to máte na to Combo.

Sheet = WorkSheet = List = Hárok
WorkBook = Sešit = Zošit = Soubor = Súbor

Nieje jasné čo presne má byť výstup. Ak ide len o vizuálne upozornenie, tak sa dá použiť podmienené formátovanie. Tu pre prehľadnosť a menšiu výpočtovú náročnosť aplikované na základe výpočtu v pomocných stĺpcoch. A:B farbené na základe E, a C:D farbené na základe F. Ale lepšie by asi bolo mať tbl oddelené. Dá sa použiť filter na menšie ako 0, väčšie, alebo 0, v stavovom stĺpci, ktorý chceme. Ale nezabúdať že tu je podľa popisu tbl spojená, teda filter ovplyvňuje aj druhú dvojicu. Odporúčam dať na somostatné listy...

Sub VymazHodnoty()
Dim RNG As Range, JK(), R As Long

With ThisWorkbook.ActiveSheet
R = .Cells(Rows.Count, "JK").End(xlUp).Row
If R = 1 Then
ReDim JK(1 To 1, 1 To 1): JK = .Cells(1, "JK").Value
Else
JK = .Cells(1, "JK").Resize(R).Value
End If

For i = 1 To R
If StrComp(JK(i, 1), "ano", vbTextCompare) = 0 Then
If RNG Is Nothing Then
Set RNG = .Cells(i, 2).Resize(, 10)
Else
Set RNG = Union(RNG, .Cells(i, 2).Resize(, 10))
End If
End If
Next i
End With

If Not RNG Is Nothing Then RNG.ClearContents
End Sub


EDIT: Aha, pozerám, že som si nevšimol požiadavku na zoradenie. Takže, to má byť na základe čoho zoradené ?

Inak, prečo nepoužijete filter ???

model A)
Chcete v jednom vzorci násobiť 2 bunky. No a čo potom ? Budete mať 2 výsledky a čo s nimi ? Zrátať, či čo ?

model B)
Chcete podľa jednej bunky ovplyvniť 2 bunky. Veď dajte do každej z ovplyvňovaných buniek rovnakú podmienku.

Ak ani jedno z toho, priložte prílohu s príkladom toho, čo máte, čo sa kde mení, a čo má kde byť výsledkom, pri konkrétnom príklade.

Tiež si myslím, že by mal v tom existovať nejaký export. Čo je to zač (názov) ?

Bunky, kam vkladáte tie OCR data, naformátujte ako text, to tam ale máte, potom stačí takýto vzorec, v ktorom to rozdelíte a zbavíte sa obidvoch typov medzier. V bunke s týmto vzorcom nastavte formát na %:
=TRIM(SUBSTITUTE(LEFT(C7;FIND("/";C7)-1);CHAR(160);""))/TRIM(SUBSTITUTE(MID(C7;FIND("/";C7)+1;LEN(C7));CHAR(160);""))

=PROČISTIT(DOSADIT(ZLEVA(C7;NAJÍT("/";C7)-1);ZNAK(160);""))/PROČISTIT(DOSADIT(ČÁST(C7;NAJÍT("/";C7)+1;DÉLKA(C7));ZNAK(160);""))


Strana:  1 ... « předchozí  121 122 123 124 125 126 127 128 129   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

vyhledání obsahu buňky

vfort • 18.7. 11:22

Názvy z řádků do sloupců Power Query

Alfan • 18.7. 10:01

Tlac 2 roznych tabuliek

loksik.lubos • 17.7. 20:43

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