Stránka 1 z 1

První volný řádek

Napsal: 21 kvě 2012 11:59
od esi32
Dobrý den,
rád bych se zeptal na toto:pomocí UserFormu zadávám data do tří listů.kod pro nalezení prvního prázdného řádku si myslím,že mám dobře napsaný a na správném místě.Přesto mi to záznam uloží až na řádek 500.Co mám hledat?Co může tabulka obsahovat,že to nevidím?V jedné tabulce mám vzorce,tak jsem si myslel,že to bude tím.Vzorce jsem odstranil,přesto stále ukládá do řádku 500.Ví někdo,čím by to mohlo být?
Dík za případnou pomoc.

Re: První volný řádek

Napsal: 21 kvě 2012 12:10
od Azuzula
Nejsme jasnovidci a tak nevíme kde je problém ani jaké makro na hledání řádku používáš.
Ale pro nalezení poslední obsazené buňky používám toto:

Kód: Vybrat vše

a=Cells(Rows.Count, 1).End(xlUp).Row 'a pro nalezení první prázdné buňky stačí na konec připsat +1

V první závorce je číslo sloupce kde se má hledat

Re: První volný řádek

Napsal: 21 kvě 2012 12:35
od esi32
Ahoj a děkuji za odezvu.Zde je kod,který mám.

Kód: Vybrat vše

Private Sub CommandButton1_Click()
Sheets(1).Select 'zvoli list 1
riadok = ActiveSheet.UsedRange.Rows.Count + 1 '+++++ULOŽÍ DATA NA LIST KLIENT

Cells(riadok, 1).Value = T1.Value '
Cells(riadok, 2).Value = txtDOTDate.Value
Cells(riadok, 3).Value = T3.Value
Cells(riadok, 4).Value = T4.Value
Cells(riadok, 5).Value = T5.Value
Cells(riadok, 6).Value = T6.Value
Cells(riadok, 7).Value = T7.Value
Cells(riadok, 8).Value = T8.Value
Cells(riadok, 9).Value = T9.Value
Cells(riadok, 10).Value = T10.Value
Cells(riadok, 11).Value = T11.Value
Cells(riadok, 12).Value = T12.Value
Cells(riadok, 13).Value = T13.Value
Cells(riadok, 14).Value = T14.Value
Cells(riadok, 15).Value = T15.Value
Cells(riadok, 16).Value = T16.Value
Cells(riadok, 17).Value = C1.Value
Cells(riadok, 18).Value = C2.Value
Cells(riadok, 19).Value = C3.Value
Cells(riadok, 20).Value = C4.Value
Cells(riadok, 21).Value = C5.Value
Cells(riadok, 22).Value = C6.Value

Sheets(11).Select '+++++++++++++++++++++++++++++++++++++++++++++++++ULOŽÍ DATA DO LISTU PROHLÍŽEČ PDF
DalsiRadek = Application.WorksheetFunction.CountA(Range("A:A")) + 1
Cells(riadok, 1).Value = T1.Value
Cells(riadok, 2).Value = T3.Value
Cells(riadok, 3).Value = T7.Value
Cells(riadok, 4).Value = T8.Value
Cells(riadok, 5).Value = T9.Value
Cells(riadok, 6).Value = T14.Value
Sheets(6).Select '++++++++++++++++++++++++++++++++++++++++++++++++++Ulozi Uni cislo na list Evidence faktur
DalsiRadek = Application.WorksheetFunction.CountA(Range("A:A")) + 1
Cells(riadok, 1).Value = T1.Value
Cells(riadok, 2).Value = T3.Value
i = MsgBox("Klient byl zadán a uložen do systému", vbOKOnly + vbInformation)

Sheets("Start").Select

Unload Me
End Sub


--- Doplnění předchozího příspěvku (21 Kvě 2012 12:39) ---

Pokud použiji tvůj kod,vypadne mi chyba 1004-Aplication- defined or object- defined error.
Tohle mi vypadne vždy,když použiju jakýkoliv jiný kod pro vyhledání prvního prázdného řádku,než ten,který tam mám.

Re: První volný řádek

Napsal: 21 kvě 2012 13:23
od Azuzula
Tenhle kód mi funguje ve verzi excelu od 2003 do 2010, nevím kde by mohla být chyba. Možná ještě jiná verze excelu? Jinak fakt nevím.
Vyzkoušej třeba ještě: Selection.End(xlDown).Select 'Tohle najde poslední využitou buňku v označeném sloupku.

PS: ActiveSheet.UsedRange.Rows.Count mi počítá počet užitých řádků v celém aktivním listu, nepočítá s mezerami a proto netuším jak by to šlo v tomto případě využít

Re: První volný řádek

Napsal: 21 kvě 2012 13:24
od cmuch
toto

Kód: Vybrat vše

Sheets(6).Select '++++++++++++++++++++++++++++++++++++++++++++++++++Ulozi Uni cislo na list Evidence faktur
DalsiRadek = Application.WorksheetFunction.CountA(Range("A:A")) + 1
Cells(riadok, 1).Value = T1.Value
Cells(riadok, 2).Value = T3.Value

by mělo vypadat asi takto

Kód: Vybrat vše

Sheets(6).Select '++++++++++++++++++++++++++++++++++++++++++++++++++Ulozi Uni cislo na list Evidence faktur
DalsiRadek = Application.WorksheetFunction.CountA(Range("A:A")) + 1
Cells(DalsiRadek, 1).Value = T1.Value
Cells(DalsiRadek, 2).Value = T3.Value

Re: První volný řádek

Napsal: 21 kvě 2012 14:00
od esi32
Tak jsem to upravil podle "cmuch" a ukládá to do třetího řádku..Tož to jsem z toho jelínek...Zničit krtka :evil:

Re: První volný řádek

Napsal: 21 kvě 2012 14:13
od cmuch
Tak to proč to ukládá do třetího řádku způsobuje prázdný řádek někde před tím.

A toto se chová jak?

Kód: Vybrat vše

Sheets(1).Select '++++++++++++++++++++++++++++++++++++++++++++++++++Ulozi Uni cislo na list Evidence faktur
DalsiRadek = Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(DalsiRadek, 1).Value = 1
Cells(DalsiRadek, 2).Value = 3

Re: První volný řádek

Napsal: 21 kvě 2012 15:02
od d1amond
Ono kdybys opět přiložil soubor, tak se tu nemusíme plácat týden a dohadovat se coby, kdyby.

Re: První volný řádek

Napsal: 21 kvě 2012 15:19
od esi32
Tak žádná změna...zrušil jsem cely první list,napsal ho znova a je to OK..A tím se zase dostávám na začátek.Co mám na tom listu hledat,co tam může být skryto.Vzorce to nedělají.Pokud jsem data pouze smazal,chyba nezmizela.Když jsem dal odstranit data,je to OK.Tedy v tom listě muselo být něco schované..v kodu to zřejmě nebude.Ted ještě vyzkouším posledbí od "cmuch",ale myslím,že to bude dobré.

Re: První volný řádek

Napsal: 21 kvě 2012 16:55
od cmuch
Tak ho přilož ať se podíváme. Určitě by nás to také zajímalo kde může být chyba.

Re: První volný řádek  Vyřešeno

Napsal: 22 kvě 2012 14:44
od esi32
Tož rád bych přiložil soubor,ale nemůžu.Šéf by se p....l..Uzavírám konstatováním,že odstranění a znovu vytvoření listu pomohlo.Zřejmě tam bylo něco schované.Co to bylo,nevím.Děkuji všem zúčastněným za pomoc.