Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  132 133 134 135 136 137 138 139 140   další »

@Lano
makro zapisuje z listu uživatele do listu databáze datum, týden, jméno, číslo jídla, počet, cenu jídla a kdo, kdy změnu udělal.

Pokud je ten list v rámci toho souboru - tak se může stát, že píšou 2 uživatelé (prostřednictvím toho makra) do jednoho řádku

Se sdílenými sešity moc zkušeností nemám - použil jsem jednou před lety a už nepoužívám

Ale tipl bych si, že při 60 uživatelích tam po každém z nich zůstává nějaký maras (napadá mě např. nastavení zobrazení, tisku...)
Navíc jsem někde narazil - pokud najdu dám odkaz - když se nekorektně zavře, může působit problémy

Jednou začas by se asi mělo sdílení zrušit uložit a znovu nastavit

Je otázka - máte sice nastaven pro každého uživatele jiný listy, ale píšete, že data se stejně potom hážou makrem na ten 1 - jak je řešen tento konflikt? Protože si pamatuji, že se mě excel ptal:
Měníte buˇnku XY, změny provedl tak někdo jiný - co s tím?

@Pista-II
Neumím si představit využití, ale budiž.
Pokud už máte v souboru makra, nepoužívejte výšku 0.1, ale řádky normálně skryjte. Před řazením je zobrazte (makrem) - seřaďte a poté opět skryjte. Protože, když budete někdy ty řádky chtít zobrazit, nebudete muset nastavovat znovu výšku, ale jednoduše je zobrazíte.

@Opičák
To makro je zbytečné:

Vyberte buňky, ve kterých chcete označit skryté řádky.
Napište to vaše "x"
Stiskněte CTRL+ENTER
Pak ALT+; (pouze viditelné buňky)
Pak DELETE.

A je to

To je možné. 2010 nemám, takže bude zřejmě lepší kvůli kompatibilitě to vaše
00000000\/00
nebo
00000000"/"00

@Opičák
Jo SendKeys je lepší ;)
Ale dělá mi to stejnou neplechu, takže bych to stejně nepoužil ;) . A ani mne nenapadá k čemu.

1S0845011 - s tímhle nenaděláte nic - tedy bez VBA
prostě proto, že je to text a vlastní formáty pracují pouze s čísly.
Pokud by ale byly první 3 znaky vždy "1S0" a ostatní čísla, pak vlastní formát např.:
"1S0."000"."000 a zadávejte pouze posledních 6 znaků - tedy číslo 845011

Ve druhém případě se jedná o číslo a tak není problém:
00000000/00
Stačí zadat 5211202

Pokud se ale někde na tyto buňky odkazujete, nesmíte zapomenout, že jejich obsahem je číslo 5211202 a ne to co vidíte

Opravdu myslíte, že je to hloupé? Seřaďte si tabulku http://wall.cz/upload/postatt/12272_udrzba.jpg podle sloupce ID nebo RIZIKO. Jak potom poznáte, k čemu ty údaje patří? Nebo vyfiltrujte. Protože pokud máte databázovou tabulku, tak toto jsou věci, které budete používat. Pokud to nebudete dodržovat, tak za nějaký čas tady založíte vlákno, ve kterém budete chtít poradit, jak doplnit jednoduše chybějící údaje.

Databázovou tabulku nemusíte formátovat jako tabulku. NIKDY ale v databázové tabulce NESLUČUJTE buňky.

Opravdu je to nejbezpečnější způsob a navíc ani není pracný.

Mno, pokud tomu rozumím.
Do jedné buňky sice lze násilím narvat více údajů, ale je to nepoužitelné. Nic vám ale nebrání zadat stejný řádek 6x pouze s rozdílem ve strojích. Jedině tak je to správně a kontingeční tabulka bude jenom ráda ;)

@marjankaj
To je pravda. Já jen když vidím 1,2,3,4,5,6...

@AL
Pěkný vzorešek ;)

@AL nestačilo by? ;)

=POZVYHLEDAT(A2;{"PO";"UT";"ST";"CT";"PA";"SO";"NE"};0)
resp.:
=MATCH(A2;{"PO";"UT";"ST";"CT";"PA";"SO";"NE"};0)

Makro lze, ale je zbytečné.
CTRL+H
Najít ".", Nahradit nechte prázdné
Nahradit vše
Nezavírat (pokud se zavře, znovu CTRL+H
Najít přepište na "Kč "
Nahradit vše
Zavřít

Vše samozřejmě bez uvozovek

Taky si nejsem moc jistý, jestli to funguje správně

Např:
10000/10=1000/10=100/10=10/10=1

funkce ale vyhodila 3

Není lepší:
=USEKNOUT(LOGZ(C4;D4))
Ale nemám čas testovat.
C4 = 10000, D4=10

rozhodně to však nedoporučuji používat

Pročpak? Já jsem s tím už roky spokojený.

Vyzkoušejte následující. Čtení stavu funguje, změna stavu by měla taky, ale u mne se to chová divně. Buď je to tím, že mám 64bit počítač, klávesnici přes USB nebo tam mám chybu ;)
V každém případě je třeba použít tyto API funkce, takže googlete a řešení se najde.

Private Type typeKeyboardBytes
bBytes(0 To 255) As Byte
End Type

Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Long
Private Declare Function GetKeyboardState Lib "user32" (kbArray As typeKeyboardBytes) As Long
Private Declare Function SetKeyboardState Lib "user32" (kbArray As typeKeyboardBytes) As Long

Const KEY_NUMLOCK As Long = &H90
Const KEY_CAPSLOCK As Long = &H14
Const KEY_SCROLLLOCK As Long = &H91

Sub subGetKeys()
Debug.Print "NumLock: " & (GetKeyState(KEY_NUMLOCK) = 1)
Debug.Print "CapsLock: " & (GetKeyState(KEY_CAPSLOCK) = 1)
Debug.Print "ScrollLock: " & (GetKeyState(KEY_SCROLLLOCK) = 1)
End Sub

Sub subChangeKeys()
Call subChangeKeyState(KEY_NUMLOCK, Not (GetKeyState(KEY_NUMLOCK) = 1))
Call subChangeKeyState(KEY_CAPSLOCK, Not (GetKeyState(KEY_CAPSLOCK) = 1))
Call subChangeKeyState(KEY_SCROLLLOCK, Not (GetKeyState(KEY_SCROLLLOCK) = 1))
End Sub

Private Sub subChangeKeyState(ByVal key As Long, ByVal bValue As Boolean)
Dim keysStatus As typeKeyboardBytes

GetKeyboardState keysStatus
keysStatus.bBytes(key) = Abs(CInt(bValue))
SetKeyboardState keysStatus
End Sub

Vaše riešenie má v sebe nejakú chybu

už nemá ;) = opraveno


Strana:  1 ... « předchozí  132 133 134 135 136 137 138 139 140   další »

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