Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  234 235 236 237 238 239 240 241 242   další » ... 289

Myslíte toto ? - vložiť kód do listu "List2 (Plán)"
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Cells(2, 3)) Is Nothing Then
Application.EnableEvents = False
If Cells(2, 3) Mod 4 = 0 Then Call Makro2 Else Call Makro1
Application.EnableEvents = True
End If
End Sub

Takto by to mohlo fungovať:
Private Sub tbNumber_GotFocus()
tbNumber.Text = Replace(tbNumber.Text, Chr(160), vknullstring) 'Odstránenie formátovaných medzier

'''tbNumber.Text = Cells(3, 2) 'Voľba pre uchovanie neupravenej hodnoty v bunke, predošlý riadok zrušiť

End Sub

Private Sub tbNumber_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If Shift Then KeyCode = 0 'Ctrl, Shift, Alt
Select Case KeyCode
'8 BackSpace
'37 a 39 šípka vľavo a vpravo
'46 Delete
'48..57 0 až 9
'96..105 numerické čísla
'109 a 191 num "-" a "-"
'110 a 188 num "," a ","
Case 8, 37, 39, 46, 48 To 57, 96 To 105
Case 109, 110, 188, 191: If Not IsNumeric(tbNumber.Text) Then KeyCode = 0
Case 13: tbNumber.TopLeftCell.Offset(1, 0).Activate
Case Else: KeyCode = 0
End Select

'''Cells(3, 3) = tbNumber.Text 'Voľba pre uchovanie neupravenej hodnoty v bunke

End Sub

Private Sub tbNumber_LostFocus()
tbNumber.Text = Format(tbNumber.Text, "#.##0") 'Naformátovanie
End Sub

To prvé bol iba ujo guugl z tabletu od kávy. Ale tento kód mne funguje, ale načo je to dobré ???

Iba z tabletu, inšpirujte sa z tohoto kódu zo stackoverflow
Public Sub UserForm_Initialize()
TextBox6.Text = Format(Number, "0.0000")
End Sub

Private Sub TextBox6_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If IsNumeric(TextBox6.Value) Then
TextBox6.Text = Format(TextBox6, "0.0000")
End If
End Sub

Private Sub TextBox6_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
'// Disregard keys other than 0-9/period/minus sign.
If Shift Then KeyCode = 0
Select Case KeyCode
Case 8, 13, 46, 48 To 57, 96 To 105, 109, 110, 189, 190
Case Else
KeyCode = 0
End Select
End Sub

Je z formulára, ale to snáď jasné.

V podobnej téme som radil toto

EDIT:
Tu máte príklad. Otázkou je, či tá Vaša aktualizácia vyvolá metódu Change, resp. neviem ako to budete aktualizovať, či nejakým SQL dopytom, či časovaným makrom, ...

Zabudnutá téma ?
Pre ListBox na liste
...
Dim s As String, i As Integer
With Worksheets("List2").ListBoxes("lbVyber") 'Je vhodné si LB premenovať
For i = 1 To UBound(.List)
If .Selected(i) Then s = s & IIf(s = "", "", ", ") & .List(i)
Next i
End With
.TextBody = s
...


Pre ListBox na UserForm-e
...
Dim s As String, i As Integer
With UserForm1.lbVyberForm
For i = 0 To .ListCount - 1
If .Selected(i) Then s = s & IIf(s = "", "", ", ") & .List(i)
Next i
End With
.TextBody = s
...

CheckBox nevyvoláva Worksheet_Change. Treba použiť fintu, skopírovania prepojenej bunky do inej bunky, a to vyvolá Calculate metódu. Viz príloha.

Iným riešeným by bolo použitie CheckBoxu ActiveX, ktorý ma OnClick metódu.

Presne tak:
Function ftbCheck(name As String) As Boolean
Dim Exist As Boolean
On Error Resume Next
Exist = Not ThisWorkbook.Worksheets("Hárok1").OLEObjects.Item(name) Is Nothing
ftbCheck = Exist
End Function

Sub test()
MsgBox ftbCheck("TextBox2")
End Sub

Ja nechcem rýpať páni, môžete ma ešte nasmerovať ako odstrániť označené ? Obe Vaše verzie mi zaokrúhľujú to posledné číslo...


Aké obe verzie?


No Vaša a Lubova. Nikto iný sem neprispel.

---------
Podmienený formát predsa nič nezaokrúhľuje iba zobrazuje.


Pozrite si prosím číslo 1,445, zaokrúhli mi to na 1,45, teda nedá prvé 3 čísla, ale to tretie zaokrúhli podľa štvrtého (normálne zaokrúhlenie 5 ide hore).

---------
A ak chceš zobraziť číslo 123456 na tri platné, tak vedeckým formátom 0,00 E+00(čo je univerzálne a mohlo by vyhovovať)


Ak zadám tento formát buniek (na skúšku pre všetky čísla), tak podľa zadanie nieje ani jedno.

---------
A to zaokrúhľovanie je predsa logické, to formát čísla predsa robí bežne.


Ja som zadanie pochopil tak, že nezaokrúhľovať, ale "odrezať".

Môžete mi teda prosím v prílohe helpnúť s pochopením, ako to teda funguje? Niečo robím zle. Formát čísla by bol určite najlepšie riešenie, ale žiaľ mne sa ho nedarí sprevádzkovať, tak ako som pochopil zadanie. Hádať sa nemienim, na to nemám už síl, čisto zaujímavosť...
PS: Žltým sú označené bunky, ktoré podľa mňa nezodpovedajú zadaniu.

Ja nechcem rýpať páni, môžete ma ešte nasmerovať ako odstrániť označené ? Obe Vaše verzie mi zaokrúhľujú to posledné číslo, a k tomu neviem formátom odstrániť celé čísla (teda ak je viac ako 3 nedesatinné miesta). Vlastne ani tým lubovím vzorcom. Nie som taký skúsený, ale na margo mi nedá sa nespýtať: INT vracia najbližšie menšie číslo - teda odreže desatiny pri kladnom, ale záporné "pokazí", ak to chápem dobre. Nebude tu ten problém so zaukrúhlením ? Ďalej keď zmením na 2 čísla, tak ten vzorec už zaokrúhli všetko na 0,13 ... 1,3 a pod.
Keď aj pominieme možnosť zmeny počtu čísel (to nebolo požadované), prosím o pomoc s pochopením, ako doriešiť to ostatné.

@ lubo: nič, samozrejme to nieje problém. Ale keďže sa do tabuľky sviatkov len tak nezasahuje, tak je zbytočný ďalší list, alebo tabuľka.

@ marjankaj: samozrejme, veď ten vzorec na výpočet veľkej noci v tom mojom podmienenom formátovaní mám.

@ Opičák: viď 2. veta pre "lubo" - nezavadzia tabuľka.

Neviem či som urobil ten Váš formát správne, pls junknite. Ak áno, tak takto to asi nemyslel. Formátom by som to nevedel, ale vzorcom by sa to dalo riešiť napr. takto.

To ale nebude fungovať, tak ako som písal, keď budú dáta z viacerých rokov.

Vyskúšajte toto. Je to taká "berlička", keďže pôvodný zámer s maticovou konštantou s aktuálne počítaným rokom nevyšiel, lebo do konštanty nejde vložiť vzorec, a pomocná tabuľka sa tiež nedá použiť, keďže nie je možné do nej vkladať rok, keď nevieme, či bude tabuľka napr pokračovať ďalším rokom, atď., tak som vydumal pomocný reťazec. Mrknite si podmienený formát.
EDIT: Napísal som to minútu po Lubovi, opäť som to nestihol :). Každopádne som zistil, že som zabudol v prílohe zbytočný pokusný list "Svatky" - NIEJE potrebný, tak si ho zmažte. Aktualizovaná príloha.

Vzorcovo je to asi jediné možné riešenie, čo poslal marjankaj, práve kvôli tomu, prečo je tam bod 3. Ak by ste to chceli robiť nejako často, môžete to zautomatizovať aj s voľbami počtu a zastúpenia, ale iba makrom. Napr. nejako takto.

Len pre zaujímavosť doplním...


Strana:  1 ... « předchozí  234 235 236 237 238 239 240 241 242   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

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

Vzorec pro zkopírování obsahu buňky.

veny • 6.7. 8:28