< návrat zpět

MS Excel


Téma: Range jako proměnná rss

Zaslal/a 1.9.2016 22:17

Ahoj,

vyhledám si pomocí cyklu poslední prázdný řádek v sešitu a zapíšu jej do proměnné. Následně potřebuju do toho prázdného řádku (který mám v proměnné) zapsat data. Jak to mám udělat?

Worksheets("Db").Range(PrazdnyBLg).Value = TextBox1.Text

Tohle mi bohužel nefunguje, zkoušel jsem to s uvozovkama, bez uvozovek, s doplněním rozsahu např. Range("A1:A" PrazdnyBlg) ale to mi zase zapisuje do celého sloupce.

Věděl by někdo, jak tam tu proměnnou zapsat?

Zaslat odpověď >

#032579
avatar
Pokud proměnná "PrazdnyBlg" obsahuje číslo řádku, tak je to jenom o logice ;-)...
Range("A" & PrazdnyBlg).ValueP.citovat
#032580
elninoslov
Určite nehľadáte posledný prázdny, ale prvý prazdny 2
Robíte to cyklom, a prečo nie takto
PrazdnyBlg = Worksheets("Db").Cells(Rows.Count, 1).End(xlUp).Row + 1
A potom napr.
Worksheets("Db").Cells(PrazdnyBlg, 1).Value = neviem čo

PS: Z brucha z tabletu, tak snáď bez chyby.citovat
icon #032581
eLCHa
Taky z tabletu a taky zbrucha

Chyba je tam - clUp má být xlUp

A taky bych řekl, že hledá poslední prázdnou (v pracovní oblasti) 2
Kdyby hledal první, stačilo by xlDown

A taky bych řekl, že to jde bez proměnné...Range(Cells(1,1),Cells(Rows.Count,1).End(xlUp)).Value = cosikcitovat
#032585
avatar
Aha, tak proto to asi nefungovalo 1 Samozřejmě jsem hledal první prázdný řádek.

Vyzkoušel jsem postup od elninoslov a funguje, díky!citovat
#032591
elninoslov
Je to len slovíčkarenie, samozrejme, predpokladáme všetci to isté, že chcete nájsť nasledujúci riadok pod posledným záznamom. Ak sa tam nevyskytujú prázdne tak môže byť xlDown, ak áno tak xlUp. Inak clUp upravené na xlUp, to viete mobil a nočná hodina ... 1citovat
#032599
avatar
Ještě bych potřeboval poradit, kam vložit kód, který načítá první volný řádek do proměnné. Potřebuji to použít ve formuláři, konkrétně v TextBoxu. Takže do TextBoxu zadám text, který se zapíše do prvního volného řádku.

Momentálně to mám následovně:
Private Sub TextBox1_Change() 'Textbox pro jméno
PrazdnyBLg = Worksheets("Db").Cells(Rows.Count, 1).End(xlUp).Row + 1
Worksheets("DB").Cells(PrazdnyBLg, 1).Value = TextBox1.Value
End Sub


Jenže výsledek je takový, že při každém zadaném znaku to znovu počítá obsazené řádky a výsledek vypadá následovně (do TextBoxu vypisuju slovo test):
Naddis sloupce
1. t
2. te
3. tes
4. test

Dokázali byste poradit, kam to nejlépe umístit? Formulář otevírám přes tlačítko, tak jsem to zkoušel dávat do části, kde je kód pro otevření formuláře, ale to nějak nefunguje.
Příloha: zip32599_databaze-dat.zip (28kB, staženo 30x)
citovat
#032603
elninoslov
Všetky ostatné makrá som odstránil.
Příloha: zip32603_databaze-dat.zip (20kB, staženo 32x)
citovat
#032604
elninoslov
Alebo takto Vám, bude objekt Tabuľka počítať zvyšné veci.
Samozrejme tie výpočty môže robiť aj makro, a vloží tak výsledky (deň, mesiac, rok), ale vek by som určite riešil vloženým vzorcom (nie hodnotou), alebo ho počítať až vo finále, kde budete s dátami pracovať. Na výstupe. Vek, ako je známo, sa časom (žiaľ) mení :)
Příloha: zip32604_databaze-dat-vzorcetbl.zip (24kB, staženo 40x)
citovat
#032607
avatar
elninoslov: Děkuji moc, jdu nastudovat, jak to funguje 1citovat

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