< návrat zpět

MS Excel


Téma: Přidání a odebrání "posledního" řádku rss

Zaslal/a 27.5.2013 22:45

zdravím,

prosím někoho, aby mi pomohl s následujícím zadáním.

Potřeboval bych v excelu vytvořit tlačitko které po stisknutí Vytvoři nový řádek vždy pod posledním tzn. ked vyplním řádek 10, stalačím tlačítko NOVÝ ŘÁDEK, tak se mi integruje řádek 11 atd ...

To samé bych potřeboval i na odstraneni řádku ale při odstranování bych potřeboval aby byly dvě možnosti,

1) odstranit poslední řádek
2) zadejte číslo řádku který chcete odstranit

V sešitě by se měl vždy vkládat jako nový řádek také s ohraničením ...

Předem děkuji za pomoc...

Zaslat odpověď >

Strana:  1 2   další »
#013487
Opičák
Těžko něco vytvořit,když není jasné co.
Nový řádek zřejmě má obsahovat nějaké formátování nebo i vzorce. Udělej si vzorový řádek,včetně vzorců a formátování(třeba na jiný list) a ten překopíruj na první volný řádek.
Makro na to samozřejmě jde napsat, aby našlo první prázdný řádek.
Odstranit znamená co?
- vymazat hodnoty a ponechat vzorce, takže jako nový nevyplněný řádek
- nebo smazat komplet, jako kl. Del
- nebo odstranit celý řádek Ctrl mínuscitovat
#013489
avatar
zdravím,
v příloze přikládám co jsem vytvořil.

Nový řádek se přidává stále na na 11 a ne jako poslední.

Odstranit znamená vymazat - DELETE celý řádek bud poslední nebo který uživatel zadá.

kod pro přidaní řadku je:

Private Sub CommandButton2_Click()

Rows("10:10").Select 'řádek 10
Selection.Copy
Rows("11:11").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.ClearContents
Range("A1").Select
Application.CutCopyMode = False
End Sub

Kod nedokážu udělat, tak aby se vždy ten řádek vložil jako poslední.

Heslo pro odemknutí VBA projektu je: davidko295
Příloha: rar13489_test.rar (24kB, staženo 31x)
citovat
#013490
Opičák
Zítra (dnes) 3 to upravím. Než jsem zjistil, že jsi tu neco dal jsem zkusil jako příklad tohle. Mazání je udělané tak, že maže nebo odstraní vždy ten řádek, kde je právě kurzor. Lze to udělat i tak že budeš muset zadat číslo řádku.
Příloha: zip13490_radky.zip (28kB, staženo 35x)
citovat
#013491
avatar
Parada, to je přesně ono, hodil by si sem kody abych je jen vložil do ovl. prvku?

Ještě bych potřeboval, aby se při vkládání nového řádku zachovala výška např. 75px.

Při úplném odstranění řádku bych tam potřeboval MSbox "přejete si opravdu odstranit celý řádek?" Tlačitko ANO / NE

Diky mockrát 1citovat
#013492
Opičák
Tady je to i s MSBoxem + nastavená nějaké výšky nového řádku. Je třeba nastavit podle potřeby.
Kody jsou v Module1, můžeš je volat "z tlačítka" Call makro xx nebo je dát rovnou do kodu tlačítek na List.

pozn. nový řádek umísťuje pod poslední a toto místo hledá podle poslední neprázdné buňky ve sl. A. Ačkoli se zdá, že tam nic není, je tam jeden znak a to mezerník. Pokud ve vzorovém řádku na Listu2 mezera nebude, nevyhledá poslední řádek správně.
Příloha: zip13492_radky2.zip (28kB, staženo 34x)
citovat
#013493
avatar
Ahoj, asi jsem moc otravný, ale ještě mám prozbu. 1

Vše funguje na výbornou avšak bych potřeboval:

a)skrýt list č.2, pokud ho skryju přes excel, tak makro po stlačení tl. Přidej nový řádekvyhodí chybu.

b) nastavit oblast tisku tak aby se vždy tisklo na stránku od 10 řádku až po xx, stým, že se na jednu stránku vejde 6 řádků 78 px.

C) tento formulář budu odesílat e-mailem a ked tam hodím makro na odeslání emailu, viz.:

Private Sub CommandButton1_Click ()
'Select the range of cells on the active worksheet.
    ActiveSheet.Range ("A9: Q11"). Select
   
    'Show the envelope on the ActiveWorkbook.
    ActiveWorkbook.EnvelopeVisible = True
   
    'Set the optional introduction field thats adds
    'Some header text to the email body. It also sets
    'The To and Subject lines. Finally the message
    'Is sent.
    with ActiveSheet.MailEnvelope
       . Introduction = ""
       . Item.To = "xxxxxx"
       . Item.CC = "xxxxxxxx"
       . Item.Subject = "Nový subject"
       . Item.Send
    end With
'potvrzeni
MsgBox "xxxxxxxxxxxxxxxxxxxxxxx."
end Sub

tak se mi vždy odešle na email jen část formuláře.

Mockrát díky za pomoccitovat
#013494
Opičák
Začnu od konce:
mail: není chyba zde
ActiveSheet.Range ("A9: Q11"). Select
jsou vybrány jen 3 řádky

tisk: oblast tisku nastavit v ROZLOŽENÍ STRÁNKY možná je dobré ji pojmenovat

u zamčeného listu mi to normálně funguje, pokud list skryju, pak to hází chybu, ale jde to v makru ošetřit třeba doplněním dvou řádků.

Rem --- vzorový řádek ---
Sheets("List2").Visible = True
Sheets("List2").Select
Range("A2:R2").Select
Selection.Copy
ActiveWindow.SelectedSheets.Visible = Falsecitovat
#013496
Opičák
na řádku makra
ActiveSheet.Range ("A9: Q11"). Select
nastavit oblast A9:Q11 podle požadované oblasti, která se má vybrat

pro tisk je myslím jedno, jestli jsou řádky vysoké tak či onak, důležité je aby se vešly na jednu stránku. pro běžný tisl stačí makro:

Sub tisk1_tisk()
ActiveSheet.PageSetup.PrintArea = "$B$10:$J$16"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub


zde je opět nutné nastavit oblast tisku B10:J16

lepší by se to nastavovalo na příkladucitovat
#013505
Opičák
Podívej se na to, jestli to takhle vyhovuje. Vytiskne to libovolný počet řádků, po šesti.
Příloha: zip13505_kopie-tisk.zip (37kB, staženo 28x)
citovat
#013507
Opičák
Vykoušej, pokud tam bude něco zlobit, dej vědět.
Příloha: zip13507_kopie-tisk2.zip (36kB, staženo 27x)
citovat

Strana:  1 2   další »

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