Excel: Pomoc s vytvořením formuláře

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

mates1000
nováček
Příspěvky: 7
Registrován: duben 10
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Excel: Pomoc s vytvořením formuláře

Příspěvekod mates1000 » 23 dub 2010 18:23

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

Reklama
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Excel: Pomoc s vytvořením formuláře

Příspěvekod navstevnik » 24 dub 2010 10:54

Doporucuji nazvy ovladacich prvku tvorit podle (http://www.officir.ic.cz/chipex05/07/ex ... _form.html):
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 249 x

dubar
nováček
Příspěvky: 1
Registrován: leden 11
Pohlaví: Muž
Stav:
Offline

Re: Excel: Pomoc s vytvořením formuláře

Příspěvekod dubar » 08 led 2011 16:34

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 :
Private Sub CancelButton_Click()
Unload UserForm1
End Sub

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
    4782
    od Riviera kid Zobrazit poslední příspěvek
    02 zář 2024 16:21
  • Přechod z Excel 21 na Excel 24
    od Snekment » 29 led 2025 13:46 » v Kancelářské balíky
    2
    12193
    od Snekment Zobrazit poslední příspěvek
    29 led 2025 15:05
  • Pohoda a excel Příloha(y)
    od brownwld » 06 kvě 2025 17:28 » v Kancelářské balíky
    1
    4627
    od atari Zobrazit poslední příspěvek
    07 kvě 2025 09:41
  • Excel - výpočet nočních hodin Příloha(y)
    od Uziv00 » 17 říj 2024 11:22 » v Kancelářské balíky
    3
    3318
    od lubo. Zobrazit poslední příspěvek
    24 říj 2024 00:00
  • Tisk sloupců vedle sebe na A4 - Excel
    od atari » 24 dub 2025 10:51 » v Kancelářské balíky
    5
    3909
    od atari Zobrazit poslední příspěvek
    26 dub 2025 09:11

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 0 hostů