< návrat zpět

MS Excel


Téma: CheckBox rss

Zaslal/a 9.6.2013 21:42

Ahojte všichni, mám na vás další dva dotazy jak udělat co nejjednodušší změnu CheckBoxu při kliknutí z TRUE na FALSE a z FALSE na TRUE na jednu stranu mě to funguje ale na druhou už ne. A druhý dotaz, v Userform mám jeden Textbox a tlačítko na potvrzení myší, jak mám udělat aby když napíšu text do Textboxu a zmáčknu Entr došlo k zápisu. Vstupy z klávesnice jsem ještě neprogramoval. Dík moc za radu.

stop Uzamčeno - nelze přidávat nové příspěvky.

#013809
Opičák
ad 1/
Private Sub CheckBox1_Click()
With UserForm1
If .CheckBox1.Value = True Then
.CheckBox1.Value = False
Else
.CheckBox1.Value = True
End If
End With
End Subcitovat
#013810
avatar
Private Sub CheckBox1_Click()
UserForm1.CheckBox1.Value = Not UserForm1.CheckBox1.Value
End Subcitovat
icon #013811
eLCHa
A druhý dotaz, v Userform mám jeden Textbox a tlačítko na potvrzení myší, jak mám udělat aby když napíšu text do Textboxu a zmáčknu Entr došlo k zápisu

co si představujete pod pojmem "k zápisu" - odeslat furmulář?
Události KeyUp, KeyDown, KeyPress (ne v tomto případě)

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyReturn Then
'kód (Call btnSend_Click)
End If
End Sub
citovat
#013816
avatar
Kurzor v textboxu, napíšu tam text a teď když zmáčknut(stisknu a hned pustí, běžné potvrzení) Entr tak se mě vybere tlačítko na tlačítko potvrzení myší a při dalším zmáčknutí se mě spustí makro, které mám dané pod tímto tlačítkem takže musím dvakrát mačkat Entr. A já chci aby se mě po jednom stisknutí Entru spustilo nějaké makro které mě provede zápis. Makro Sub zapis () mám hotové.citovat
icon #013817
eLCHa
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyReturn Then
Call Zapis
End If
End Sub
citovat
#013825
avatar
Jo už to funguje, ale nevím proč mě nefunguje funkce SetFocus, tak abych jen psal text a potvrzoval entrem. Při potvrzení provede zápis a přepne se na tlačítko, funkci Set Focus nedělá.Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyReturn Then
Call Zapis
TextBox1.SetFocus
End If
End Sub
citovat
icon #013855
eLCHa
Mno bez přílohy absolutně netuším, co tam vymýšlíte za bláznoviny...

TextBox1.SetFocus
vymažte, to je tam na nic

u toho tlačítka nastavte TabStop na False
a Focus vám tam neskočícitovat
#013859
avatar
Zkusil jsem to teda vypnout ale při potvrzení mě skočí kurzor z UserForm do listu takže zase musím klikat myší. Já bych to chtěl napsat potvrdit, napsat potvrdit bez myšky. Odborníkům, kteří kroutí hlavou se omlouvám nejsem žádný programátor ale funguje to.Private Sub CommandButton1_Click()
Call Zapis
End Sub
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyReturn Then
Call Zapis
End If
End Sub
Sub Zapis()
ActiveSheet.Select
Range("B7").Select
TextBox1.Text = Trim(TextBox1.Text)
If TextBox1.Text = "" Then
h = MsgBox("Nebyl zadán název", vbOKOnly + vbExclamation, "Chyba názvu")
Exit Sub
End If
Do
ActiveCell.Offset(1, 0).Select
If ActiveCell = TextBox1.Text Then
h = MsgBox("Družstvo již existuje", vbOKOnly + vbExclamation, "Shoda názvu")
Exit Sub
End If
Loop Until ActiveCell = ""
ActiveCell = TextBox1.Text
If Range("C8") = "I.pokus" Then
Application.EnableEvents = False 'vypne automatického spuštění makra
ActiveCell.Offset(0, 11).FormulaR1C1 = "=RC[-5]+RC[-1]"
Application.EnableEvents = True 'zapnutí automatického spuštění makra
End If
ActiveCell.Offset(0, 1).Select
ActiveCell.Offset(1, 0).Select
If Range("C8") = "I.pokus" Then
ActiveCell.Offset(0, 11).Name = "Konec_tisku"
Else
ActiveCell.Offset(-1, 4).Name = "Konec_tisku"
End If
ActiveSheet.PageSetup.PrintArea = "$A$1:Konec_tisku"
ActiveCell.Offset(0, -1).Select
TextBox1.Text = ""
End Sub
citovat
icon #013860
eLCHa
Člověče - nebylo by jednodušší se zaregistrovat a dát sem tu přílohu ;))
Takhle jenom střílím a soubor si vytvářet nebudu, ale řekl bych že do listu vám to skočí quli tomuhle

ActiveSheet.Select
zkuste to zakomentovat (nebo smazat), jestli to nepomůže

ActiveCell.Offset(0, 1).Select
ActiveCell.Offset(1, 0).Select

by mělo jít nahradit
ActiveCell.Offset(1, 1).Select

Omlouvat se nemusíte - kdybychom se nechtěli chlubit tím, jaxme chytří, tak neodpovíme ;))
---
edit:
vlastně těch selectů je tam tolik, že to do toh listu asi skočí stejně :(citovat
#013863
avatar
Jo dík moc už to funguje.citovat

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