Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Makro VBA -kopírování do první prázdné buňky

Zdravím všechny,
hodně jsem googloval, ale odpověď, která by řešila můj problém jsem nenašel, proto se obracím na Vás.
Píšu jednoduché makro, které má za úkol zkopírovat buňky z jednoho listu a vložit do druhého. Ve druhém listu je seznam a já chci, aby se data z prvního sešitu ukládala do druhého listu postupně (aby tvořili seznam, tj. vložení do první prázdné buňky).
Tady je můj kód

Sub faktura_vydana()
Sheets("FAKTURA").Activate 'vybere listu faktura
Range("J15").Select
Selection.Copy 'vybere buňku a zkopíruje
Sheets("VYDANÉ FAKTURY").Activate 'vybere list vydané faktury
xx xxxxx 'zde by měl být příkaz na vložení dat do prvního volného řádku ve sloupci

End Sub

Za jakoukoli radu/odkaz předem velice děkuji!

Předmět Autor Datum
no a co dál - přece se postavíš na první pole seznamu a otestuješ, zda je Null. Když ne, posuneš se…
touchwood 07.10.2013 22:00
touchwood
Něco pro inspiraci http://office.lasakovi.com/excel/vba-listy-bunky/r adky-sloupce-excel-vba-kody/#0…
Siki83 07.10.2013 22:28
Siki83
To jsem taky našel, zkoušel jsem to napasovat na svůj kód a nějak se mi to nezadařilo, napadlo mě po…
HonzaB 08.10.2013 15:11
HonzaB
A nějaký vzorek nebo alespoň kam se mají data kopírovat (sloupec)?
Siki83 08.10.2013 19:00
Siki83
Mají se kopírovat hodnoty z listu1 J15,H4,D14,I43,J17 do sloupců A1(J15), B1(H4), C1(D14), D1(I43),…
HonzaB 08.10.2013 20:59
HonzaB
Jo soubor pošli, kouknul bych se na to. Jen doufám, že to není žádná akutka, v poslední době sem na…
Siki83 08.10.2013 23:23
Siki83
Poslal jsem na email, nn není, času dost:)
HonzaB 09.10.2013 13:52
HonzaB
Taks to napasoval blbě (pokud neuvedeš kód, nic jiného Ti říct nemůžeme). Cpát do toho cykly je zbyt…
MachR55 11.11.2013 10:13
MachR55
Dobry den tohle Vám pomůže. 'cyklus se ukončí jak najde prázdnou buňku Do Until Selection = "" Sele…
rogalo22 10.11.2013 22:58
rogalo22
Pro případné další, téma bylo již vyřešeno (9.10) přes e-mail. Edit: Pokud by někoho zajímal kód ta… poslední
Siki83 11.11.2013 15:30
Siki83

Mají se kopírovat hodnoty z listu1 J15,H4,D14,I43,J17 do sloupců A1(J15), B1(H4), C1(D14), D1(I43), E1(J17) v listu2 *kam se má kopírovat která buňka*
Samozřejmě se to musí vždy kopírovat na další řádek, na list2, kde se tvoří seznam
- je to forma na fakturu, kde v listu1 je šablona faktury a cíl je, aby se po stisku čudlíku určitá data zkopírovala do vedlejšího listu, kde bude seznam kdy byla která faktura vydaná, jakou má splatnost, částka apod.
Klidně pošlu excelovský soubor a za jakoukoli radu jsem neskonale vděčný.

Taks to napasoval blbě (pokud neuvedeš kód, nic jiného Ti říct nemůžeme). Cpát do toho cykly je zbytečný zpomalení. Tento kód:

PosledniPlnyRadek = Range("A1").End(xlDown).Row ' Ve sloupci A 
PrvniPrazdnyRadek = PosledniPlnyRadek + 1 
MsgBox "První prázdný řádek má číslo: " & PrvniPrazdnyRadek

prostě musí fungovat!
Jen musíš v prvním řádku místo "A1" zvolit tu správnou buňku. Jediná komplikace spočívá v tom, že pro správnou funkci výše uvedeného kódu musí sloupec obsahovat souvislý blok obsazených buněk. Tzn. - pokud třeba máš první řádek prázdný, pak máš v řádcích 2 a 3 nějaké záhlaví tabulky, pak opět 1 řádek prázdný, a teprve od pátého řádku jsou již obsazené buňky souvislé, tak v příkazu místo "A1" napíšeš "A5".

Dobry den tohle Vám pomůže.

'cyklus se ukončí jak najde prázdnou buňku
Do Until Selection = ""
Select Case Selection
End Select
'
Dim FrstR As Long, FrstCll As Range
With ActiveSheet
FrstR = .Range(.Range("A1"), .Range("A1").End(xlDown)).Rows.Count
Set FrstCll = .Range("A1").Offset(FrstR, 0)
End With
' MsgBox FrstCll.Address
FrstCll.Select
ActiveSheet.Paste

Loop

Pro případné další, téma bylo již vyřešeno (9.10) přes e-mail.

Edit:
Pokud by někoho zajímal kód tak zde.

Sub faktura_ulozit()
Dim Radek As Long

Radek = Worksheets("VYDANÉ FAKTURY").Cells(Rows.Count, 1).End(xlUp).Row + 1 'najde poslední plný řádek a přičte 1
'Debug.Print Radek

Worksheets("VYDANÉ FAKTURY").Cells(Radek, 1) = Worksheets("FAKTURA").Range("J14").Value 'datum
Worksheets("VYDANÉ FAKTURY").Cells(Radek, 2) = Worksheets("FAKTURA").Range("H3").Value 'odberatel
Worksheets("VYDANÉ FAKTURY").Cells(Radek, 3) = Worksheets("FAKTURA").Range("D13").Value 'forma uhrady
Worksheets("VYDANÉ FAKTURY").Cells(Radek, 4) = Worksheets("FAKTURA").Range("I49").Value 'castka
Worksheets("VYDANÉ FAKTURY").Cells(Radek, 5) = Worksheets("FAKTURA").Range("J16").Value 'datum splatnosti
End Sub

Zpět do poradny Odpovědět na původní otázku Nahoru