< návrat zpět

MS Excel


Téma: Formulář na procházení záznamů z tabulky rss

Zaslal/a 24.8.2019 17:44

Dobrý den, prosím o pomoc,
mám tabulku se záznamy (několik desítek sloupců) a potřeboval bych k ní vytvořit formulář, do kterého by se vždy načetl záznam z jednoho řádku a pomocí kterého bych mohl jednoduše (třeba pomocí šipek) listovat mezi jednotlivými záznamy, upravovat je, mazat atd. Vestavěný datový formulář odmítá s tolika poli pracovat a navíc bych potřeboval vytvořit vlastní, abych ho mohl dále upravovat.
Jsem začátečník. Můžu někoho poprosit o jednoduchou ukázku, třeba jen s třemi poli Jméno, Příjmení, Adresa? Další pole a funkce bych se pak pokusil doplnit sám.

Díky moc, M.

Zaslat odpověď >

Strana:  « předchozí  1 2 3   další »
#044041
avatar
Pořád to samé, při otevření hlásí nečitelný obsah. Nechápu, v čem je problém, stahoval jsem si odsud už několik řešení. Můžeš to prosím uložit pod nějakou starší verzí Excelu?citovat
#044042
avatar
Trošku jsem to očesal.
Příloha: zip44042_formular.zip (16kB, staženo 65x)
citovat
#044043
avatar
To je přesně ono, funguje to skvěle! Díky moc!citovat
#044047
avatar
A přitom je to to samé, jak na začátku.
Jen jsem vyhodil vyhledávání, přepínání mezi listy, tiskové sestavy a data jsou ve stejném souboru jako formulář.

A není tam vymazání celého záznamu.

Tak hlavně když poslouží.citovat
#044049
avatar
Zdravím, již sem tu psal v jiném vláknu na podobné téma formuláře. A třeba tu někomu také ponukne inspiraci. Třeba tam mám i přidáno možnost hledání hlavně pomůže bude li záznamů na více jako u mě když mám více záznamů - řádků.

Ale zase v něm je někde chybka v tom že funguje jen když se vkládají data přes formulář. Pokud data ručně zapíšu nebo nakopíruji do listu data tak mi přestane na formuláři fungovat tlačítko uložit (přepsat data)
nevím proč ale třeba někdo tu odhalí.

Také jsme postupoval tím že jsem si našel formulář a z 5 oken jsem rozšířil na více tak že netuším proč nefunguje.
Příloha: zip44049_formularx.zip (334kB, staženo 34x)
citovat
#044050
avatar
Díky za všechno. Mám ještě doplňující otázku: jakou funkcí VBA lze zjistit pořadí listu v sešitu podle jména listu? Díky.citovat
#044051
Stalker
S výpisem do okna immediate
Debug.Print Worksheets("JmenoListu").Index

S načtením hodnoty do proměnné
i = Worksheets("JmenoListu").Indexcitovat
#044052
avatar
Jak je to jednoduchý, když to někdo umí 1 Funguje, díky!citovat
#044455
avatar
Zdravím,
mohl bych poprosit o pomoc s tabulkou - formulářem.
Použil jsem formulář co tu je a trochu upravil ke svému obrazu. Ale narazil jsem na pár zádrhelů.

1) zadávám do dvou sloupců datum ale při uložení se data nezapíšou jako datum a já to pak dalším makrem upravuji (vynásobím 1x , šlo by aby se údaj zapsal do slupce B a C jako Datum ? )

2) Přidal jsem si zaškrtávaní CheckBox to mi funguje, jen bych rád aby vyplňoval Ano/Ne na místo Pravda/Nepravda

3) jelikož moje tabulka má několik tisíc řádků a desítek sloupců a prohledává vše tak hledání trvá občas déle,tak jestli by šlo přidat tlačítko které by hledalo jen ve sloupci D (číslo Smlouvy) což by mohlo někdy urychlit

předem děkuji za jakoukoliv radu
Office 2013CZ
Příloha: zip44455_tabulka1.zip (141kB, staženo 25x)
citovat
#044458
elninoslov
No tak to by bolo treba celé prerobiť. Ale tie 3 veci napr takto:
Private Sub PrepisTextBox()
Dim Z()
With Worksheets(Data)
Z = .Cells(i, 1).Resize(, 5).Value
TextBox1.Text = Z(1, 1)
If IsDate(Z(1, 2)) Then TextBox2.Text = Format(Z(1, 2), "d.m.yyyy") Else TextBox2.Text = Z(1, 2)
If IsDate(Z(1, 3)) Then TextBox3.Text = Format(Z(1, 3), "d.m.yyyy") Else TextBox3.Text = Z(1, 3)
TextBox4.Text = Z(1, 4)
CheckBox1.Value = UCase(Z(1, 5)) = "ANO"
End With
End Sub


Private Sub Editace()
Dim Z(1 To 1, 1 To 5)
Z(1, 1) = Int(TextBox1.Text)
If IsDate(TextBox2.Text) Then Z(1, 2) = DateValue(TextBox2.Text) Else Z(1, 2) = TextBox2.Text 'zapisovat datum
If IsDate(TextBox3.Text) Then Z(1, 3).Value = DateValue(TextBox3.Text) Else Z(1, 3) = TextBox3.Text 'zapisovat datum
Z(1, 4) = TextBox4.Text
Z(1, 5) = IIf(CheckBox1, "ANO", "NE") 'zapisovat ANO / NE
Worksheets(Data).Cells(i, 1).Resize(, 5).Value = Z
End Sub


Private Sub Najdi_Click()
Dim c As Range

Set c = Worksheets(Data).Columns(4).Find(TextBox17.Value, LookIn:=xlValues)
If c Is Nothing Then
prompt = MsgBox("Zadaný údaj nebyl nalezen", vbOKOnly)
Else
i = c.Row
NajdiDalsi.Enabled = True
End If

If i > 3 And Předchozí.Enabled = False Then Předchozí.Enabled = True
If i = 3 And Předchozí.Enabled = True Then Předchozí.Enabled = False

PrepisTextBox
End Sub
Příloha: zip44458_hledany-zaznam.zip (139kB, staženo 46x)
citovat

Strana:  « předchozí  1 2 3   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