Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  19 20 21 22 23 24 25 26 27   další » ... 63

@AL - Já to používám následovně:

Když chci něco skrýt, tak abych o tom věděl "jenom já", tak skryji sloupce. Mám prakticky jistotu, že si toho management vůbec nevšimne, případně to budou ignorovat. Takže skrývám pomocné sloupce, případně hodnoty, které nemají pro vedení žádný smysl.
Když chci, aby měl management možnost si některé hodnoty zobrazit, ale nejsou až tolik důležité, případně zabírají moc místa, tak využívám seskupování sloupců.
P.

Pokud vím, tak to přímo nejde. Nicméně se to dá určitými způsoby "obejít".

Možnosti:
1.) Sice nelze přímo filtrovat více barev, ale lze dle více barev řadit. Takže jednou z možností je seřadit dle požadovaných barev a ostatní řádky skrýt.
2.) Pokud máš buňku obarvenou dle nějakého jasného kritéria, tak stačí přidat další pomocný sloupec, kde toto kritérium vložíš, tak abys tam měl nějaké jasné hodnoty (například si udělat číselník apod.).
3.) Dá se to řešit třeba i vlastní funkcí, podle které si určíš, jakou barvu daná buňka má.

Do Modulu vložit:Function Barva_pozadi_bunky(bunka As Range) As Long

Barva_pozadi_bunky = bunka.Interior.Color

End Function
Práce s touto funkcí je pak standardní, do buňky v pomocném sloupci vložit vzorec:
=Barva_pozadi_bunky(A2)Výsledkem už nebude barva, ale číselné označení barvy, podle které lze již standardně filtrovat více hodnot. Pro management pak samozřejmě pomocný sloupec skrýt ;-)...
P.

Já už ho napsal, tak posílám...
P.

Např.:
Sub Skryt_rozmezi_sloupcu()

Cells.Columns.Hidden = False
Range(Cells(, Range("A1").Value), Cells(, Range("A2").Value)).Columns.Hidden = True

End Sub

Řešil bych bez tlačítka přes podmíněné formátování...
P.

Chyba bude asi někde mezi klávesnicí a židlí ;-).
Vychází to správně, 9.10.2016 = 7.
Případně vlož přílohu...
P.

Př.:
=DENTÝDNE(DNES();2)

Funkce DENTÝDNE ti vrací čísla 1 až 7 - pořadové číslo dne v nastaveném typu týdne. U nás začíná týden pondělím, v některých zemích např. nedělí, proto tam jsou ty možnosti.
U nás má tedy pondělí číslo 1, v jiných zemích může mít 2...
P.

Word se dá vložit do Excelu jako objekt.

Postup:
1.) Označit ve Wordu požadovanou oblast + kopírovat.
2.) Na volném listu v Excelu dát Vložit jinak / Objekt Dokument aplikace Microsoft Word.

Následně pak stačí již jen myší dvakrát poklepat, a můžeš libovolně editovat v klasickém Wordovském prostředí.

Osobně ale dávám přednost dvěma samostatným souborům. Nejlépe samozřejmě každý na samostatném monitoru ;-)...
P.

Napadá mě řešení přes událost listu Worksheet_Change a pomocný sloupec, ve kterém budeš uchovávat minulé hodnoty (sloupec můžeš pak klidně skrýt, takže nebude mít vliv na design).
P.

Např. (pro pomocný sloupec "B"):
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Byte
Dim radek As Byte
Dim hodnota_bunky As String

For i = 1 To 20
If (Cells(i, 1).Value <> "") And (Cells(i, 2).Value = "") Then
radek = i
hodnota_bunky = Cells(i, 1).Value
Range(Cells(1, 1), Cells(20, 2)).ClearContents
End If
Next i

On Error Resume Next
Cells(radek, 1).Value = hodnota_bunky
Cells(radek, 2).Value = hodnota_bunky

End Sub

Přilož možná názornou ukázku, ať víme, čeho přesně chceš dosáhnout...
P.

Vlož přílohu...
P.

"Ano, to je možné."
P.

Za předpokladu, že se textové pole bude mazat pouze při spuštění tohoto konkrétního makra (ruční zrušení filtru uživatelem neřeším):
Sub Filtr_dle_vybrane_bunky_5()
Dim pole_filtru As Byte
Dim text_do_pole As String

If ((ActiveCell.Column = 6) And (ActiveCell.Row >= 14)) Or (ActiveCell.Column = 11) Then
pole_filtru = 4
text_do_pole = Application.WorksheetFunction.VLookup(ActiveCell.Value, Range("F14:G10000"), 2, False)
ElseIf ActiveCell.Column = 8 Then
pole_filtru = 1
text_do_pole = ActiveCell.Value
ElseIf ActiveCell.Column = 9 Then
pole_filtru = 2
text_do_pole = ActiveCell.Value
End If

If pole_filtru > 0 Then
On Error Resume Next
ActiveSheet.ShowAllData

ActiveSheet.Range("$H$1:$K$10000").AutoFilter _
Field:=pole_filtru, Criteria1:=ActiveCell.Value

ActiveSheet.TextBox1.Value = text_do_pole
Else
ActiveSheet.TextBox1.Value = ""
End If

End Sub
P.

Vzhledem k interpunkci, která je využita v zadání, mi to jasné nebylo... ;-)

Pokud chce toto, pak měl napsat:
"čti název txt souboru, který ukládáš, z buňky",
a nikolov:
"čti název txt. souboru, který ukládáš z bunky".
Stěžejní je ta čárka za "ukládáš", proto mě to nedávalo smysl.

Já si říkal, co myslí tím čtením názvu souboru, který se ukládá z buňky :D.
P.

Za předpokladu, že máš textové pole (v kódu název TextBox1) jako Ovládací prvek ActiveX (Vývojář / Vložit / Ovládací prvky ActiveX / Textové pole):
Sub Filtr_dle_vybrane_bunky_4()
Dim pole_filtru As Byte
Dim text_do_pole As String

If ((ActiveCell.Column = 6) And (ActiveCell.Row >= 14)) Or (ActiveCell.Column = 11) Then
pole_filtru = 4
text_do_pole = Application.WorksheetFunction.VLookup(ActiveCell.Value, Range("F14:G10000"), 2, False)
ElseIf ActiveCell.Column = 8 Then
pole_filtru = 1
text_do_pole = ActiveCell.Value
ElseIf ActiveCell.Column = 9 Then
pole_filtru = 2
text_do_pole = ActiveCell.Value
End If

If pole_filtru > 0 Then
On Error Resume Next
ActiveSheet.ShowAllData

ActiveSheet.Range("$H$1:$K$10000").AutoFilter _
Field:=pole_filtru, Criteria1:=ActiveCell.Value

ActiveSheet.TextBox1.Value = text_do_pole
End If

End Sub
Teď už bych ti měl jenom poslat číslo účtu :-D...
P.

Z obrázků to luštit asi nebudeme. To chce přímo excelovský sešit.
Já osobně tomu navíc moc nerozumím, když dokážeš získat celkovou tržbu, tak dokážeš vypočítat i celkovou marži (cena zboží * % marže * počet kusů), ne? Princip bude přece stejný...
P.

Pozn.:
Pokud chceš sčítat buňky dle podmínek, tak lze využít funkci SUMIFS.


Strana:  1 ... « předchozí  19 20 21 22 23 24 25 26 27   další » ... 63

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