Stránka 1 z 4
první prázdný řádek a vzorec
Napsal: 26 kvě 2012 13:39
od esi32
Zdravím,
pomocí UserForm zadávám rodné číslo a datum narození.UserForm uloží data na první volný řádek.Jenže potřebuju ověřovat rodné číslo.To bych zkusil vzorcem.Takže do bunky s daten narození jsem vložil vzorec,který z RČ vytvoří datum narození.Problém je to,že když vzorec rozkopíruju do dalších řádků,tak pro userForm jsou ty řádky vlastně obsazené.Ví někdo jak to řešit?Lze nějak Userformu říct,aby ten sloupec(např."B") jakoby ignoroval?Snad jsem to vysvětlil srozumitelně.Dík za případnou odpověď.
Re: první prázdný řádek a vzorec Vyřešeno
Napsal: 26 kvě 2012 14:01
od Azuzula
Nevím jaký příkaz používáte na nalezení prvního prázdného řádku, ale mě se osvědčil např:
Kód: Vybrat vše
a = Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(a, 1).Select
kde jednička v závorce (první řádek) znamená číslo sloupku kde se hledá resp. (na druhém řádku) označuje.
Ale i tak by se mohl hodit nějaký demo sešit a můžeme vyřešit kontrolu RČ přímo v běžícím makru pokud by to bylo třeba.
Re: první prázdný řádek a vzorec
Napsal: 26 kvě 2012 14:32
od d1amond
Před vyplněním buňky bych nechal projít rč funkcí, která to odkontroluje a pokud je OK, tak vyplní rč i datum zároveň.
--- Doplnění předchozího příspěvku (26 Kvě 2012 14:33) ---
Azuzula píše:Nevím jaký příkaz používáte na nalezení prvního prázdného řádku, ale mě se osvědčil např:
Kód: Vybrat vše
a = Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(a, 1).Select
Najít poslední řádek asi není podstatou problému

Re: první prázdný řádek a vzorec
Napsal: 26 kvě 2012 14:50
od Azuzula
Najít poslední řádek evidentně bylo částí problému, když po vyplnění jednoho sloupku vzorcem mu makro vyhledalo poslední řádek se vzorcem a ne s RČ, tak tam asi taky bude potíž. Už jsem tady viděla několik maker co jako výstup měly poslední použitý řádek v celém listu a tak je lepší se v tomto případě zaměřit na kontrolu jen jednoho sloupce s RČ.
Re: první prázdný řádek a vzorec
Napsal: 26 kvě 2012 14:58
od esi32
Dík za odezvu.Celý sešit nemohu,zkusím vypreparovat to podstatné.Jen ještě doplním,že zadávám dvěmi způsoby.Za prvé jak jsem již napsal,tak zadávám UserFormem.To v případě malého množství klientů.A druhý způsob je importem z webu.Tento způsob předpokládám časem bude prioritní.
tak jsem to vypreparoval a jako ukázka si myslím,že to bude dostačující.
Re: první prázdný řádek a vzorec
Napsal: 26 kvě 2012 15:18
od d1amond
Kde je ta fce na datum z rč?
Re: první prázdný řádek a vzorec
Napsal: 26 kvě 2012 15:29
od esi32
jeje,to jsem to asi odmázl taky:-)omlouvám se,stačí vzorec napsat tady?
Re: první prázdný řádek a vzorec
Napsal: 26 kvě 2012 15:30
od d1amond
jo
Re: první prázdný řádek a vzorec
Napsal: 26 kvě 2012 15:33
od Azuzula
První potíž jak už jsem psala bylo v řádku:
Kód: Vybrat vše
riadok = ActiveSheet.UsedRange.Rows.Count + 1
Opravdu najde první prázdný řádek na listu ale kontroluje všechny sloupky a ne jen jeden.
Tady opravdu pomůže to co jsem už psala předtím.
Kód: Vybrat vše
riadok = Cells(Rows.Count, 1).End(xlUp).Row + 1
Re: první prázdný řádek a vzorec
Napsal: 26 kvě 2012 15:38
od esi32
jeje,to jsem to asiOdmázl taky:-)omlouvám se,stačí vzorec napsat tady?
TADY TO JE ZNOVU
Re: první prázdný řádek a vzorec
Napsal: 26 kvě 2012 15:54
od Azuzula
Tady jsem dala dohromady makro na kontrolu RČ a následný zápis do tabulky
Kód: Vybrat vše
rc = T4.Value
date1 = T5.Value
rok = Mid(rc, 1, 2)
mesic = Mid(rc, 3, 2)
If mesic > 13 Then
mesic = mesic - 50
If mesic < 10 Then mesic = "0" & mesic
End If
den = Mid(rc, 5, 2)
date2 = den & "." & mesic & "." & rok
If date1 = date2 Then
Cells(riadok, 4).Value = date1
Cells(riadok, 5).Value = rc
End If
--- Doplnění předchozího příspěvku (26 Kvě 2012 15:59) ---
A tady je upravený sešit, vyzkoušejte jestli to je jak potřebujete
Re: první prázdný řádek a vzorec
Napsal: 26 kvě 2012 16:13
od esi32
Kód: Vybrat vše
rok = Mid(rc, 1, 2)
mesic = Mid(rc, 3, 2)
If mesic > 13 Then
[b][u]mesic = mesic - 50[/u][/b]
If mesic < 10 Then mesic = "0" & mesic
End If
den = Mid(rc, 5, 2)
date2 = den & "." & mesic & "." & rok
If date1 = date2 Then
Cells(riadok, 4).Value = date1
Cells(riadok, 5).Value = rc
End If
Azazulko,tady mi to dělá chybku TypeMischmasch.