Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  202 203 204 205 206 207 208 209 210   další » ... 289

Použite fnc IF/KDYŽ alebo IFERROR.

=IF(AND(E2<=7;F2<=15;G2<=3;H2<=5;I2<=3);"OK";"NOK")
=KDYŽ(A(E2<=7;F2<=15;G2<=3;H2<=5;I2<=3);"OK";"NOK")

alebo len zo srandy matica
{=IF(SUM((E2:I2<={7\15\3\5\3})*1)=5;"OK";"NOK")}
{=KDYŽ(SUMA((E2:I2<={7\15\3\5\3})*1)=5;"OK";"NOK")}

Napr.

No to je problém. My nevieme ako to je koncipované, a ako to bude používané, či je to tabuľka alebo Object Tabuľka, či sú pod dátami kód a názov ešte iné dáta v tých stĺpcoch, kde sú vzorce, kde iba hodnoty, či sú počiatočné riadky a stĺpce fixné alebo nie, či tam môže byť výberový zoznam alebo nie, ako je vyriešené dopĺňanie nových riadkov, a či je počet riadkov obmedzený (ďalšími objektami alebo nastavením tlače ...), či a aké sú tam vlastne stĺpce (Celkom, s PDH, bez ...), lebo aj Celkom som si tam domyslel, to ste tam nemal.
atď...
To sa bez reálnej prílohy (po odmazaní citlivých info, ale ponechaní štruktúry) nedá.

ponechanie pôvodných hodnôt: Je tu možnosť zapnúť iteračný výpočet, kde by sa testoval nejaký príznak (napr. v nejakej bunke by bolo "Vybavené") a na základe toho by vzorec buď odkazoval sám na seba, alebo počítal s aktuálnymi dátami. No nie som si istý ako sa to zachová, ak sa súbor náhodou otvorí na PC, kde iteračný výpočet zapnutý nieje (a to predvolene nieje). Myslím, že automaticky nenávratne zničí staré dáta. Teda jednoduché riešenie je, po vybavení označiť tabuľku, Ctrl+C, pklik a výber Hodnoty.

Ak náhodou nepotrebujete zároveň robiť zoznam mien v tabuľke, ale máte ho pevný, tak aj maticovým vzorcom. Príklad:

Pozrite sa sem na to ako je riešený variant "variant v zošite, zmenou bunky B1"

Je to pripravené aj na nejaké tie "psie kusy", ako napr. nesprávna hodnota, mazanie, nesúvislá oblasť... vyskúšajte. Nieje to merná minca, ale len návrh.

Ale POZOR, platí pri tom to, čo pri makrách väčšinou : Je to naprogramované presne na túto situáciu ! Teda nemôžete len tak bez úpravy makra meniť poradie stĺpcov, riadkov, atď. Ako sa tu často deje, že človek pripraví na mieru makro, ktoré si užívateľ potom prenesie do úplne inak koncipovaného súboru, a potom nefachá.

Ak budú dáta začínať tak ako ich máte od 14. riadku, a ak budú v rovnakých stĺpcoch ako to máte, a ak v nich budú o 14. riadku po koniec len čísla k násobeniu alebo prázdne, tak napr. :
Sub EUR_CZ()
Dim Kurz As Single, t As String, R As Long, D(), i As Long
t = InputBox("Zadajte kurz EUR->CZ :", "Kurz", 0#)
If t = vbNullString Then MsgBox ("Nebol zadaný kurz."): Exit Sub
If IsNumeric(t) Then Kurz = Val(t) Else MsgBox ("Nesprávna hodnota kurzu."): Exit Sub
With ActiveSheet
R = .Cells(Rows.Count, 1).End(xlUp).Row - 13
If R < 1 Then MsgBox ("Chýbajú data od riadku 14."): Exit Sub
D = .Cells(14, 8).Resize(R, 8).Value
On Error Resume Next
For i = 1 To R
If D(i, 1) <> "" Then D(i, 1) = D(i, 1) * Kurz
If D(i, 4) <> "" Then D(i, 4) = D(i, 4) * Kurz
If D(i, 7) <> "" Then D(i, 7) = D(i, 7) * Kurz
Next i
.Cells(14, 8).Resize(R, 8).Value = D
If Err <> 0 Then MsgBox ("Ukončené s chybou.")
End With
End Sub

Nevadia mu ani tie Vaše divotvorné zlúčenia. Ale predpokladám, že budete mať každý mesiac nový súbor. To bude nepraktické prenášať makro, alebo prekopírovávať dáta do súboru s makrom. Dá sa urobiť doplnok do Excelu, ktorý pridá nástrojovú lištu s tlačítkom. To bude dostupné v každom exceláckom súbore, ale aj v tých, ktorých sa to netýka...

Ak by tých riadkov a listov bolo veľa, tak by som to urobil cez pole a skrýval ich naraz. Napr. takto nejako. Je to Dynamicky nastaviteľné pomocou konštánt a poľa podmienok.
Sub Skryt_Riadky_Podmienene()
Dim Podmienka(), Riadok As Long, TMP As Integer, RNG As Range, aData(), WS As Worksheet
Const PRVY = 50
Const POSLEDNY = 400
Const STLP = 1

Podmienka = Array("254.420", "254.423", "254.424")

Application.ScreenUpdating = False

On Error Resume Next

For Each WS In Worksheets
With WS
aData = .Cells(PRVY, STLP).Resize(POSLEDNY - PRVY + 1).Value

For Riadok = 1 To POSLEDNY - PRVY + 1
TMP = WorksheetFunction.Match(CStr(aData(Riadok, 1)), Podmienka, 0)
If Err = 0 Then
If RNG Is Nothing Then Set RNG = .Cells(Riadok + PRVY - 1, STLP) Else Set RNG = Union(RNG, .Cells(Riadok + PRVY - 1, STLP))
Else
Err.Clear
End If
Next Riadok

If Not RNG Is Nothing Then RNG.EntireRow.Hidden = True: Set RNG = Nothing
End With
Next WS
Set WS = Nothing

Application.ScreenUpdating = True
End Sub

Neviem či to chápem správne...

Len doplním, že ak chcete do bodky zachovať funkcionalitu Vášho vzorca, tak ten VLOOKUP / SVYHLEDAT obalte do IFERROR(VLOOKuP(...vaše hľadanie ...);E4)

NejK tak. Píšem z mobilu na posteli...

Pekne. Nejde mi síce zatiaľ do hlavy ten abs. $B$2 ale pekne. Nevedel som si ešte inak ako pom. stĺpcami predstaviť vytvorenie zoznamu jedinečných hodnôt z A a C spolu. Na to niečo jednoduchšie nieje ?

1. Myslel som okno Watches, podľa tohto obrázku, ale to je jedno viď nižšie.
2. Problém robí parameter xlExcel8, ktorý E2003 nepozná. Je nutné použiť parameter xlNormal v ukladacích príkazoch. Vyskúšal som tento parameter aj v E2016 a funguje, teda nemuseli by sme doprogramovávať kontrolu verzie, ale budiš, je to tam.
3. Podmienka je podľa mňa presne podľa požiadavky, teda upozorní v posledný deň mesiaca po 15:30:00. Ak by sme chceli urobiť, že to prebehne hocikedy po poslednom dni (teda napr. v polke ďalšieho mes.), musíme zabezpečiť niekde v súbore (v bunke) uložený príznak, ktorým makro pri prípadnom ďalšom otvorení súboru spozná, či už bolo vykonané (premazané, prečistené, uložené). Inak by to mohlo spôsobiť nemilé prekvapenie. Ale dá sa to.
4. Malá úprava vzorca v C1 prvého listu, kvôli chybnej interpretácii "yyyy" CZ Excelu (ten požaduje "rrrr").
5. Pridaná kontrola odmietnutia prepísania súboru, lebo to vyvolalo chybu.
6. Musel som si kvôli Vám nahodiť virtuálku s XP a Off2003

1. Keď dáte Debug v hláške a máte ten riadok označený, kliknite pravým na "Subor" a zvolte "Add Watch" a zo spodného okna si dvojitým klikom skopírujte hodnotu Value, a vložte sem.
2. Aká je to verzia Excelu ?
3. Skúste mi nahrať u Vás makro na "Uložiť ako". Teda na karte Vývojár kliknete na "Zaznamenať makro", súbor dáte Uložiť ako, vymyslíte názov a uložíte ho na miesto kde sa nachádza tento súbor. Na karte Vývojár dáte "Zastaviť záznam", a kód toho makra sem skopírujte.
4. Keď budete na kóde toho nahraného makra, zmente v ňom názov súboru za ďalší pokusný, a stláčaním F8 makrom po kroku spúšťajte. Či dobehne bez chyby do konca.

Aby ste si nemýlila "Workbook_Open_Test" s "Workbook_Open", premenujte si "Workbook_Open_Test" na "Skuska_Funkcnosti".

Samozrejme, že Vám to nefunguje, keď "Skuska_Funkcnosti" spustíte s dátumom 18.2.2017. Nič sa neudeje, lebo 18. nieje posledný deň v mesiaci. Posledným februárovým dňom v tomto roku je 28. ! Nie 18. A ešte pozor na ten čas. Obe podmienky musia byť splnené.


Strana:  1 ... « předchozí  202 203 204 205 206 207 208 209 210   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

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

Řazení podle času v kategoriích

Marekh • 12.7. 9:55

Porovnávací Tabulka

Jess • 8.7. 20:49