Stránka 1 z 1
vymazat řádek přes formulář VBA Vyřešeno
Napsal: 19 led 2012 16:34
od setuB
Zdarec potřeboval pomoc s mým prvním VBA dílkem. Potřeboval bych, aby se mi objevil již vyplnění formulář pokud kliknu na řádek s požadovanými údaji a dále nemůžu přijít na to jak mám tento označený řádek vymazat a všechny řádky pod vymazaným řádkem by se posunuli o jednu poziici nahoru
díky moc za pomoc
Re: vymazat řádek přes formulář VBA
Napsal: 19 led 2012 19:30
od cmuch
Ahoj,
na smazání řádku aktivní buňky použij
Kód: Vybrat vše
Rows(ActiveCell.Row).Delete Shift:=xlUp
a ty udaje bych vkládal do formuláře přes tlačítko - tak jak máš ulož, vymaž bys měl načti. Třeba
Re: vymazat řádek přes formulář VBA
Napsal: 19 led 2012 20:01
od setuB
tvá metoda je možná, ale největší problém je ten, že nevidím ve formuláři co mažu, chtěl bych aby se hodnoty před smazáním objevili ve formuláři.
Jinak jsem to trošku upravil a přidal jsem, aby se mi formulář po uložení jednoho záznamu vymazal
Re: vymazat řádek přes formulář VBA
Napsal: 19 led 2012 20:19
od cmuch
já to myslel tak že bys hodnoty načetl a pak je smazal, tak bys viděl co mažeš.
Re: vymazat řádek přes formulář VBA
Napsal: 19 led 2012 20:30
od setuB
tady jsem našel jak bych si to představoval, bohužel vůbec nemůžu přijít na to jak o mám zakomponovat do toho mojeho VBA
Re: vymazat řádek přes formulář VBA
Napsal: 19 led 2012 21:12
od cmuch
Tak tam vlož toto ke kodum formuláře.
Kód: Vybrat vše
Private Sub UserForm_Initialize()
pole_osobni_cislo = Range("A" & ActiveCell.Row).Value
pole_jmeno = Range("B" & ActiveCell.Row).Value
pole_prijmeni = Range("C" & ActiveCell.Row).Value
If Range("D" & ActiveCell.Row).Value = "aa " Then ob_AG = True
cmb_oblast = Range("E" & ActiveCell.Row).Value
cmb_misto = Range("F" & ActiveCell.Row).Value
End Sub
Jen nevím zatím jak s tím oddělením

Re: vymazat řádek přes formulář VBA
Napsal: 19 led 2012 21:58
od setuB
jo už by to mohlo být, ale ještě bych potřeboval aby se ten formulář spustil tím, že udělám dvojklik na řádek.
ale jinak moc díky
ještě tuto mušku a jsem spokojenej človíček
oddělení jsem vyřešil takto
If Range("D" & ActiveCell.Row).Value = "AG" Then ob_AG = True
If Range("D" & ActiveCell.Row).Value = "FICO" Then ob_FICO = True
If Range("D" & ActiveCell.Row).Value = "QA" Then ob_QA = True
.
.
.
Re: vymazat řádek přes formulář VBA
Napsal: 20 led 2012 06:38
od cmuch
tak do kodu listu kde to chceš zpouštět dvojklikem vlož
Kód: Vybrat vše
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Karta_zamestnance.Show
End Sub
Re: vymazat řádek přes formulář VBA
Napsal: 20 led 2012 08:29
od setuB
Supr do by mohlo být ono a už to funguje, pak ještě napíšu proceduru, aby se formulář neotevíral, pokud je buňka prázdná, to už by neměl být problém
Ještě ovšem jedna malilinkatá muška
nevím jak editovat data, pokud dám uložit záznam, tak se mi automaticky vytvoří nový řádek na konci. Vytvořil jsem nové cmb Úprava záznamu, ale nevím jako to udělat abych změnil hodnoty a ty se mi uložili do stejného řádku, který upravuju.
Re: vymazat řádek přes formulář VBA
Napsal: 20 led 2012 10:58
od cmuch
třeba obráceně jak je vyčítáš
Kód: Vybrat vše
Range("A" & ActiveCell.Row).Value = pole_osobni_cislo
Range("B" & ActiveCell.Row).Value = pole_jmeno
Range("C" & ActiveCell.Row).Value = pole_prijmeni
If ob_AG = True Then Range("D" & ActiveCell.Row).Value = "AG"
.
.
Range("E" & ActiveCell.Row).Value = cmb_oblast
Range("F" & ActiveCell.Row).Value = cmb_misto
Ještě jsem si všimnul, že když se vybere nějaké jiné oddělení tak oblast/dílna je pořád stejné. To by chtělo také doladit.
--- Doplnění předchozího příspěvku (20 Led 2012 11:01) ---
jjo a ještě jsem špatně napsal to otevírání na doubleklik, já zkopíroval něco jiného
mělo by tam být
Kód: Vybrat vše
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Karta_zamestnance.Show
End Sub
ted se to otevira pri kliku na bunku
--- Doplnění předchozího příspěvku (20 Led 2012 11:06) ---
a aby to vynechávalo prázdné buňky tak vepis pred zobrazeni formuláře toto
Re: vymazat řádek přes formulář VBA
Napsal: 20 led 2012 11:55
od setuB
jo díky moc, to jsou už jen mušinky, to se časem vychytá
--- Doplnění předchozího příspěvku (20 Led 2012 12:24) ---
---- Ještě jsem si všimnul, že když se vybere nějaké jiné oddělení tak oblast/dílna je pořád stejné. To by chtělo také doladit. -----
vyřešil jsem to tímto
Private Sub frame_oddeleni_Enter()
cmb_oblast.Text = ""
End Sub
Tak považuju tuto otázku za odpovězenou. Díky moc a zamknu toto vlákno