Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  118 119 120 121 122 123 124 125 126   další » ... 298

Opäť nedôsledné zadanie. Kam na iný list ? Do stále rovnakej oblasti ? Do rovnakej oblasti ako aktuálna oblasť zdroja ? Do oblasti umiestnenej podľa iných podmienok ? ...
Tu je najjednoduchší variant - cieľ je rovnaká oblasť, a uchovanie čítača podľa "AL".

Priložte príklad v prílohe. Z tohoto nieje príliš zrejmé o čo ide.

EDIT: Nechcete Vy náhodou dohľadať násobok takto?

Nerozumiem.
"Makro mi nepadlo" - to je preklep, a myslíte tým "nenapadlo" ? Teda ste pôvodne nechcela použiť makro ? Veď nemusíte. Urobte rovnakú operáciu myšou:
-označte dátový riadok v "tabulka1" pred ktorý chcete vložiť riadok, napr. A5:K5
-pravý klik na označenú oblasť
-vybrať "Vložiť"
-vybrať "Posunúť bunky nadol" - OK

Máte to vyriešené na maile...

Nemôžete mať rozsah "LOG_POHYBU[#All]" ale iba "LOG_POHYBU", lebo to nieje Tabuľka ale iba tabuľka.
Nemôžete použiť Rozšírený filter s parametrom na rozsah bez hlavičiek. Ako by potom určil, ktorý parameter (stĺpec) máte na mysli? Takže LOG_POHYBU nemôže byť =POHYBY!$A$2:$I$523 ale =POHYBY!$A$1:$I$523.
Potom sa Vám ale bude dávať do výsledku logicky aj hlavička, teda nemajte v skladovej karte dvojitú predvyplnenú hlavičku (riadky 7, 8), ale na 7. vkladajte výsledok filtra.
Ale aj tak je to celé také zvláštne. Vy teda potrebujete vyfiltrovať k určitému materiálu za určité obdobie všetky pohyby? Nechcete použiť KT?

EDIT:
Načo sa má presne používať tlačítko FILTRUJ s makrom FILTR_SKLADKARTA? Veď na tento list sa predsa nedostane iný materiál ako ten filtrovaný z rozšíreného filtra.

Makro POHYB_MATERIALU - na aké rozsahy A3:H3 sa to odkazuje, keď také ani v jednom z listov neobsahujú popisované parametre? Podľa mňa tam musíte mať ešte jeden list, v ktorom zadávate tie pohyby, ale ten neexistujúci "ODPIS_MATERIALU" (spomínaný v makre "odpisMaterialu") to asi nebude.

NazevListu + ZRUS_FILTRY - Zisťovanie mena aktívneho listu, na ktorom bolo stlačené tlačítko je zbytočné, stačí dať iba ActiveSheet.AutoFilterMode = False
lebo aktívny bude práve ten, na ktorom sa kliká na tlačítko.

Zbytočné je aj filtrovanie FILTR_DATUM a FILTR_DATUM_2 na skladovej karte, veď tam iné dátumy byť nemôžu, keď ich tam nafiltruje podľa rovnakých kritérií z rovnakých buniek pred tým Rozšírený filter.

Hľadanie posledného vyplneného riadku nerobte v cykle Do While ale pomocou End(xlDown), alebo End(xlUp).

...
ostatné sa mi príliš študovať nechce

A keby ste si niekam dala iba obdobný vzorec, to by nestačilo?
=SUM(--([Zošit3]Hárok1!$A$1:$C$14=[Zošit4]Hárok1!$A$1:$C$14))=(ROWS([Zošit3]Hárok1!$A$1:$C$14)*COLUMNS([Zošit3]Hárok1!$A$1:$C$14))
=SUMA(--([Zošit3]Hárok1!$A$1:$C$14=[Zošit4]Hárok1!$A$1:$C$14))=(ŘÁDKY([Zošit3]Hárok1!$A$1:$C$14)*SLOUPCE([Zošit3]Hárok1!$A$1:$C$14))

Ak chcete zvýšiť šancu pre akúkoľvek pomoc, priložte súbor, nie obrázok, z ktorého nieje poznať kde sa nachádza uvedený vzorec, ktoré z hodnôt na obrázku sú v akých riadkoch/stĺpcoch, proste nič.

Prečo sú tie bunky vyfarbené na oranžovo a zeleno a bledožlto ?

No a čo my tu s tým DNA máme robiť ?

Bez prílohy ?
Zdrojovú tabuľku napojte na KT, a tam aplikujte SmartFilter (Rýchly filter) na dátum.

EDIT: 4.12.2019 12:45: Aha, tak Vám ide o tie %. Chcete, len aby to rátalo iba za zvolený deň? Ten list "data" je tam k čomu ?

Skúste na kópii dát.
Ak by išlo o viac listov (desiatky), stálo by za zváženie uložiť ich na pozadí v novej inštancii Excelu, ktorá sa síce na začiatku dlhšie otvára (ako nový zošit), no je skrytá, a rýchlejšia. A mohol by Vám bežať aj progres v StatusBar-e.

Podľa mňa je takýto postup celý zle. Skúste kopírovať celý list, nie riadky. Potom stačí hodnotu použitých buniek nahradiť vlastnou hodnotou. Pr.:
Sub pokus()
Dim wb As Workbook, wbNew As Workbook, ws As Worksheet, wsNew As Worksheet
Dim cesta As String, soubor As String

Set wb = ThisWorkbook
Set ws = wb.Worksheets("AAA")

cesta = "D:\pokus\2020\"
soubor = "pokus_ " & ws.Name & " .xlsx"

Application.ScreenUpdating = False
ws.Copy
Set wbNew = ActiveWorkbook
With wbNew
With .Sheets("AAA").UsedRange
.Value = .Value
End With

On Error Resume Next
.SaveAs Filename:=cesta & soubor
If Err.Number = 0 Then .Close False
On Error GoTo 0
End With
Application.ScreenUpdating = True
End Sub

Chcete aby som Vám to upravil nech to spraví všetky listy ?

Priložte prílohu (súbor Excelu) a určo to pôjde ošéfovať.

Ten prevod na hodnoty by sa dal urobiť aj inak (Transpose funguje správne iba do 32767 riadkov):
Sub pokus()
Dim D() As String, V(), r As Long, rv As Long, Riadkov As Long
With List1
Riadkov = .Cells(Rows.Count, 1).End(xlUp).Row - 1
D = Split(Replace(Join(Application.Transpose(.Cells(2, 1).Resize(Riadkov).Value)), " ", ""), ";")
ReDim V(1 To Riadkov, 1 To 2)
On Error Resume Next
For r = 0 To UBound(D) Step 2
rv = rv + 1
V(rv, 1) = Val(D(r)): V(rv, 2) = Val(D(r + 1))
Next r
.Cells(2, 4).Resize(Riadkov, 2).Value = V
End With
End Sub

Bez prílohy je to katastrofa. Ale pokus:
=SUMIF(INDIRECT("'"&D$1&"'!$A$5:$A$50");$A8;INDIRECT("'"&D$1&"'!$C$5:$C$50"))/INDIRECT("'"&D$1&"'!$C$2")*D$3
=SUMIF(NEPŘÍMÝ.ODKAZ("'"&D$1&"'!$A$5:$A$50");$A8;NEPŘÍMÝ.ODKAZ("'"&D$1&"'!$C$5:$C$50"))/NEPŘÍMÝ.ODKAZ("'"&D$1&"'!$C$2")*D$3

A nemusíte použiť na to makro.

EDIT: Aj keď myslím, že v receptoch bude ingrediencia uvedená iba raz, a teda netreba SUMIF, ale stačí VLOOKUP/SVYHLEDAT.
=VLOOKUP($A8;INDIRECT("'"&D$1&"'!$A$5:$C$50");3;FALSE)/INDIRECT("'"&D$1&"'!$C$2")*D$3
=SVYHLEDAT($A8;NEPŘÍMÝ.ODKAZ("'"&D$1&"'!$A$5:$C$50");3;NEPRAVDA)/NEPŘÍMÝ.ODKAZ("'"&D$1&"'!$C$2")*D$3


Strana:  1 ... « předchozí  118 119 120 121 122 123 124 125 126   další » ... 298

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