Tlačítko 1 je zatím mimo. To má zapnout fomulář to už jsem zjistil jak mám udělt
tabulka je jen vzorová a už jsem sám zjistil že to musím opravit
Prostě jasně řečeno
Potřebuju aby při stisknutí tlačítka vložit se mi vše zkopírovalo do tabulky od řádky 6 ve sloupcích a,b,c,d,e,f 6 a tak dál do konce měsíce
Jsem v tom docela začátečník a tak se učím stylem chyba náhoda ale docela mi to jde jen ty příkazy.dík
Excel: Pomoc s vytvořením formuláře
-
- Level 4
- Příspěvky: 1142
- Registrován: srpen 08
- Pohlaví:
- Stav:
Offline
Re: Excel: Pomoc s vytvořením formuláře
Doporucuji nazvy ovladacich prvku tvorit podle (http://www.officir.ic.cz/chipex05/07/ex ... _form.html):
Dale, jak jsem drive uvadel, odstranit v seznamu slucovane bunky, proto je vytvoren na dalsim listu novy seznam.
Tlacitku na listu brezen je prirazeno makro Sub FrmTestShow() v module2.
V modulu test v Sub CommandButton1_Click() je ukazka ukladani obsahu do noveho seznamu na listu2.
Prvky je vhodné pojmenovávat (vlastnost Name) v souladu s určitými pravidly, kdy předpony ovládacích prvků vystihují typ prvku a následuje smysluplný název. Například výchozí název UserForm1 by mohl být upraven na frmTestPrvku. Na tento název se pak v kódu odkazujeme. (frm ... UserForm, cbo ...ComboBox, cmd ... CommandButton, fra ... Frame, chk ... CheckBox, img ... Image, lbl ... Label, lst ... ListBox, opt ... OptionButton, spn ... SpinButton, txt ...TextBox)
Dale, jak jsem drive uvadel, odstranit v seznamu slucovane bunky, proto je vytvoren na dalsim listu novy seznam.
Tlacitku na listu brezen je prirazeno makro Sub FrmTestShow() v module2.
V modulu test v Sub CommandButton1_Click() je ukazka ukladani obsahu do noveho seznamu na listu2.
Kód: Vybrat vše
Private Sub CommandButton1_Click()
' prvni volna bunka ve sloupci C, hleda smerem nahoru od 16. radku na listu
Dim LCll As Range
Set LCll = Worksheets("list2").Cells(16, "C").End(xlUp).Offset(1, 0)
' vlozit obsahy textboxu vcetne pripadne konverze typu (v textboxu jsou pouze retezce - string) a osetreni chybneho zadani
If IsDate(ComboBox1.Value) Then LCll.Offset(0, -1).Value = CDate(ComboBox1.Value) Else MsgBox "chyba blabla": Exit Sub ' datum
If a.Value <> vbNullString Then LCll.Value = a.Value Else MsgBox "chyba blablabla...": Exit Sub ' jmeno - zakaznik
' bez osetreni chybneho zadani, muzes doplnit
LCll.Offset(0, 1).Value = b.Value ' RC/ICO
LCll.Offset(0, 2).Value = c.Value ' kontakt
' a tak dale
' zde muzes vyprazdnit textboxy
ComboBox1.Value = vbNullString
a.Value = vbNullString
' checkboxy:
If CheckBox13 Then LCll.Offset(0, 4).Value = "x"
' a dalsi
' vychozi nastaveni chechboxu
CheckBox13.Value = False
End Sub
- Přílohy
-
- projekt sešit 11.xls
- (59 KiB) Staženo 248 x
Re: Excel: Pomoc s vytvořením formuláře
mates1000 píše:Nene špatně jsem to napsal potřebuji z formuláře disadit údaje z texboxu přes CommandButton1do mnou zadávaných buněk
takže mám 5 texboxu s určitým názvem např. Jméno příjmení, telefon a tak. Stejné náyvy jsou v tabulce pod buňkou B6,C6,D6 a tak dále potřebuji když stisknu CommandButton1aby se to projevilo v konkrétní řádce a posléze se hned odřádkovalo připojuji soubor pro test
To je jednoduche
--- Doplnění předchozího příspěvku (08 Led 2011 17:21) ---
Ako príklad ti krok po kroku vystvetlim čo spravit.
Pozor!!! Všetky prvky na formulári musia byt riadne pomenovane, aby si predišiel chybe v kode.
Takže:
1. Vytvor si formulár. napr.UserForm1
2. Vlož do formulára tlačítko a do pola "Name" v "Properties window" zadaj napr.OKButton Názov na tlačítku zmeníš v poli "Caption"
3. Teraz vlož do formulára prvok TextBox a nechaj jeho meno ako TextBox1 pokial chces vytvor si ich viac teda
ďalšie sa budu volať TextBox2 , TextBox3 .....atď.
4. Pokial to maš všetko hotove ešte si môžeš pridať tlačítko ktore ti bude formulár zatvárať.
tak ho vytvor a do "Name" vlož napr. CancelButton.
5. Teraz Si otvor "CancelButton" čo si vytvoril .Kód tohto tlačítka bude vyzerať nasledovne :
Kód: Vybrat vše
Unload UserForm1
End Sub
Kód: Vybrat vše
6. Teraz Si otvor "OKlButton" čo si vytvoril .Kód tohto tlačítka bude vyzerať nasledovne :
Kód: Vybrat vše
Private Sub OKButton_Click()
Dim DalsiRiadok As Long
'Tieto vysvetlívky označené apostrofom na začiatku textu VBA neberie do úvahy často ich použivam koli orientacii v kode
'Test či mám aktívny list
Sheets("List1").Activate
'Určenie prvého prázdneho riadku
DalsiRiadok = Application.WorksheetFunction.CountA(Range("A:A")) + 1
'Text ak sa nevyplnia povinné polia
If TextBox1.Text = "" Then
MsgBox "Nieje vyplnené pole."
Exit Sub
End If
'Presunutie údaju do bunky
'To číslo "2" ti určuje ktorá bunka zľava bude obsadená Udajom za text boxu
Cells(DalsiRiadok, 2) = TextBox1.Text
'Vymazanie ovládacích prvkov pri ďalšom zadávaní
TextBox1.Text = ""
TextBox1.SetFocus
****Toto je Celý kod, ktorý ked vložíš do tlačítka bude fungovat****
7.Ak si výtvoríš ďalší TextBox a chceš , aby bola vložena iná hodnota ako text,napr.číslo tak do kódu namiest .Text vlož
.Value.To spôsobí , že údaj vložený z TextBox bude naberať prednastavenú hodnotu bunky v exceli.Podľa toho ako je formátovana.
Napr. ked bude formátovaná ako číslo, bude údaj do bunky vložený ako číslo.
Napr.
Kód: Vybrat vše
Cells(DalsiRiadok, 2) = TextBox1.Value
Dúfam že som pomohol "Enjoy"
--- Doplnění předchozího příspěvku (08 Led 2011 17:36) ---
Ešte som zabudol.Pokial budeš vkladať číslo ktoré bude mať v sebe desatinnú čiarku,
Do text boxu musiš vkladať miesto desatinnej Čiarky bodku.
pokial by si vyplnil pole napriklad 25,65 v textBoxe Formátovalo by ti to v exceli zadanú hodnotu ako text a nie ako číslo.Bez ohladu na to ako
je bunka formátovana.
Naopak keď do TextBoxu zadáš 25.65 Bude to v poriadku
Sorry ale ešte som zatial nevyluskal ako to spravit s tou desatinnou čiarkou.
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
-
EXCEL -jak otevřít 2 excel sobory abych je viděla současne a samostatně
od Ketty02 » 30 srp 2024 21:19 » v Vše ostatní (sw) - 2
- 4778
-
od Riviera kid
Zobrazit poslední příspěvek
02 zář 2024 16:21
-
-
- 2
- 12191
-
od Snekment
Zobrazit poslední příspěvek
29 led 2025 15:05
-
- 1
- 4618
-
od atari
Zobrazit poslední příspěvek
07 kvě 2025 09:41
-
- 3
- 3318
-
od lubo.
Zobrazit poslední příspěvek
24 říj 2024 00:00
-
- 5
- 3908
-
od atari
Zobrazit poslední příspěvek
26 dub 2025 09:11
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 9 hostů