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 :wink:

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.