Príklad. V makre je popis 3 druhov.
Vlastnosť
Worksheets(1).ProtectContents
S tým riešiteľom Vám žiaľ nepomôžem, a ten PF stačí málo poupraviť.
Kurník aj šopa, to je dobrá haluška ...
Je fuk či A$2 alebo A$3, vždy ako sa stretne tá istá bunka, tak sa to pokaká. Proste sa nesmie asi použiť vypĺňanie tak, že sa "pretne" rovnaká bunka z jedného smeru do druhého.
Väčšinou sa ale podľa mňa používa vypĺňanie od bunky do jedného smeru, nie cez ukotvenú bunku.
Skúste
Tak, tak, treba "" a nie "'" aby to frčalo.
EDIT: A keď budeme uvažovať atribúty za textové položky, čo podľa všetkého vždy sú, tak v týchto 3 stĺpcoch obalte VLOOKUP/SVYHLEDAT do REPT/OPAKOVAT aby Vám neukazovalo 0 ak je prázdne pole.
No tak ten apostrof hromadne odstráňte.
Inak zabudli sme obaja v rýchlosti zadať posledný parameter FALSE/NEPRAVDA, ktorý rieši nezoradené položky. Prílohu som vymenil.
Keď prídem, ešte na to pozriem, ale bodla by reálna príloha (nechajte formáty, rozmiestnenie, zredukujte len počet a citlivé dáta).
No a normálny VLOOKUP/SVYHLEDAT Vám nefachá?
PS: Nezabudnite, že musíte mať vzorce v stĺpcoch C:H nakopírované na správny počet riadkov pre každú zákazku, keď už to chcete mať takto rozdelené.
Hmmm, no ja by som sa s tým aj pohral ... ale nechce sa mi ... no dobre teda ... tak len trošku ...
Pr.
Ale má to obmedzenia, viď popis. Bolo by lepšie to urobiť tak, že si súčty a odpady a balíky dáte na začiatok tabuľky, nie na koniec. Prípadne si to otočiť zvislo a a rovnako počty pred tabuľku.
1. variant - pri označení bunky v B:C sa posunie tlačítko k danému riadku k hodnotám. Stlačením sa zobrazí editovacie okno. "C" môžete aj schovať ak ho nechcete vidieť.
2. variant - Okno na zmenu hodnôt sa zobrazí pri dvojkliku na bunku s hodnotami v "I"
Nechce sa mi viac vychytávať muchy, ak neviem presne čo a ako chcete. Priložte manuálne vytvorenú prílohu ako si predstavujete výsledok. Kľudne to aj nakreslite v skicári :)
xlnc napsal/a:
...(teď se někdo jistě kousne a dá sem řešení :-)...
No a na niekoľko viet v bunke je už potreba UDF.
Napr takouto UDF, ale treba ju ešte doošetriť napr. na to, aby preskočila bunku,ktorá je zároveň parameter.
Function HLADAJ_BUNKU(Co As Variant, Optional Typ As Byte = 1) As Variant
Dim Bunka As Range, WS As Worksheet, CX As Long, CY As Long
On Error GoTo KONIEC:
With ActiveWorkbook
With Worksheets(1)
CY = .Rows.Count: CX = .Columns.Count
End With
For Each WS In .Worksheets 'Prehľadá všetky listy
With WS
Set Bunka = .Cells.Find(What:=Co, After:=.Cells(CY, CX), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
End With
If Not Bunka Is Nothing Then Exit For
Next WS
End With
If Not Bunka Is Nothing Then
Select Case Typ
Case 1: Set HLADAJ_BUNKU = Bunka 'Odkaz na bunku
Case 2: HLADAJ_BUNKU = Bunka.Address 'Adresa bunky
Case 3: HLADAJ_BUNKU = Bunka.Parent.Name 'List bunky
Case 4: HLADAJ_BUNKU = Bunka.Worksheet.Parent.Name 'Zošit bunky
Case 5: HLADAJ_BUNKU = Bunka.Address(External:=True) 'Celá cesta
Case 6: HLADAJ_BUNKU = Bunka.Row 'Súradnica Y - riadok
Case 7: HLADAJ_BUNKU = Bunka.Column 'Súradnica X - stĺpec
End Select
Else
HLADAJ_BUNKU = CVErr(xlErrNA) 'nenájdené
End If
KONIEC:
If Err.Number <> 0 Then HLADAJ_BUNKU = CVErr(xlErrValue) 'iná chyba
Set WS = Nothing: Set Bunka = Nothing
End Function
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
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.