kopirovani na tlacitko Vyřešeno

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

slavi
nováček
Příspěvky: 13
Registrován: listopad 10
Pohlaví: Muž
Stav:
Offline

kopirovani na tlacitko

Příspěvekod slavi » 12 lis 2010 08:48

Dobry den/Ahoj,
mam problem s vytvorenim funkce/makra pro kopirovani.
v konecne podobne by to melo vypadat tak ze mam tlacitko u radku s daty a pri kliku na tlacitko se data z vybranych bunek na tom radku prenesou do jine tabulky pripadne na jiny list. problem je v tom ze se mi nedari prenest data na dalsi volny radek v urcene tabulce, protoze jakmile kliknu na tlacitko prenese se radek na prvni pozici v tabulce coz je spatne protoze se pak prepisuji data z dalsich rudku.
zkousel sem for cyklus na kontrolu radek ktery vypada zhruba takto, ale je to neohrabane a urcite spatne.

Kód: Vybrat vše

Sub prenes()
            'cteni
            adresa = Cells(10, 4)
            okres = Cells(10, 5)
            kraj = Cells(10, 6)           
    poc = 0
    i = 0   
    For i = 19 To 20 + poc
        If Cells(i, 11).Value = "" Then                       
            'zapis
            Sheets("List1").Cells(19 + poc, 11) = adresa
            Sheets("List1").Cells(19 + poc, 12) = okres
            Sheets("List1").Cells(19 + poc, 13) = kraj
            poc = poc + 1
       End If
    Next i
End Sub

Reklama
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: kopirovani na tlacitko

Příspěvekod navstevnik » 12 lis 2010 10:04

Tlacitko na zdrojovem listu je z ovladacich prvku ActiveX.
Udalostni procedura CommandButton1_Click vlozena do modulu zdrojoveho listu prenese hodnoty z bunek D10:F10 na cilovy list do sloupce K:J na prvni volny radek (na listu je hlavickovy radek K1:J1).

Kód: Vybrat vše

Option Explicit

Private Sub CommandButton1_Click()
  Dim PrvniVolnaBunka As Range
  ' na cilovem listu List2 v K1:J1 jsou hlavicky
  ' nalezeni prvni volne bunky ve sloupci K, tj. 11 sloupec
  With Worksheets("list2")
    Set PrvniVolnaBunka = .Cells(.Rows.Count, "K").End(xlUp).Offset(1, 0)
  End With
  ' prenest hodnoty z aktivniho listu D10:F10 na cilovy list pocinaje prvni volnou bunkou ve sloupci K
  PrvniVolnaBunka.Resize(1, 3).Value = Me.Range("d10:f10").Value
  Set PrvniVolnaBunka = Nothing
End Sub

Zanalyzuj si kod, pouzij napovedu, je plne postacujici.

slavi
nováček
Příspěvky: 13
Registrován: listopad 10
Pohlaví: Muž
Stav:
Offline

Re: kopirovani na tlacitko

Příspěvekod slavi » 12 lis 2010 12:59

tohle je co jsem potreboval.
ma to sice jeste chybu, ze kdyz se jeden radek odstrani tak to nebere v potaz a pokracuje to porad dal, ale to si snad uz nejak poladim.

mnohokrat dekuji

navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: kopirovani na tlacitko

Příspěvekod navstevnik » 12 lis 2010 13:36

Odstraneni celeho radku v bloku radku na cilovem listu (at se jena o posledni radek nebo radek uvnitr bloku vyberem radku a Del) nebo odstraneni vyberu radku bunek ve sloupcich K:J (klavesami Ctrl+ - (minus)) nema vliv na vlozeni dalsiho radku na prvni volny radek.
Uved, o jake "odstraneni" radku se jedna.
Naposledy upravil(a) navstevnik dne 12 lis 2010 13:58, celkem upraveno 1 x.

slavi
nováček
Příspěvky: 13
Registrován: listopad 10
Pohlaví: Muž
Stav:
Offline

Re: kopirovani na tlacitko

Příspěvekod slavi » 12 lis 2010 13:44

tak ne.... radost byla predcasna
problem s vynechavanim radku je zasadni, jde o to,ze cilova oblast bunek je zhruva v prostredku a tato funkce neumi (nebo spise ja neumim) pokracovat v urcite oblasti na poslednim prazdnem radku - pokracuje za poslednim zaznamem v ve sloupci, nikoli na poslednim prazdnem miste.

tedy napr. kdyz je ve sloupci "A" zaznam na radku 1,2,3,6,7,9,10 nela by funkce vlozit zaznam na radek 4,5,8,11 postupne po ctyrech stisknuti tlacitka, nikoli na radek 11,12,13,atd jak to dela ted

slavi
nováček
Příspěvky: 13
Registrován: listopad 10
Pohlaví: Muž
Stav:
Offline

Re: kopirovani na tlacitko

Příspěvekod slavi » 12 lis 2010 14:01

asi jsem to napsal prve spatne...nejedna se o odstraneni celeho radku ale dat na radku - proste smazu Deletem obsah bunek, ale funkce toto nebere v potaz

navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: kopirovani na tlacitko

Příspěvekod navstevnik » 12 lis 2010 14:03

Kód: Vybrat vše

Option Explicit

Private Sub CommandButton1_Click()
  Dim PrvniVolnaBunka As Range
  ' na cilovem listu List2 v K1:J1 jsou hlavicky
  ' nalezeni prvni volne bunky ve sloupci K, tj. 11 sloupec
  With Worksheets("list2")
    Set PrvniVolnaBunka = .Cells(1, "K").End(xlDown).Offset(1, 0)
  End With
  ' prenest hodnoty z aktivniho listu D10:F10 na cilovy list pocinaje prvni volnou bunkou ve sloupci K
  PrvniVolnaBunka.Resize(1, 3).Value = Me.Range("d10:f10").Value
  Set PrvniVolnaBunka = Nothing
End Sub
.
Puvodni dotaz nic blizsiho neuvadel, takze navrzene reseni tomu odpovidalo. Jednoduse receno: jaky dotaz, takova odpoved.

slavi
nováček
Příspěvky: 13
Registrován: listopad 10
Pohlaví: Muž
Stav:
Offline

Re: kopirovani na tlacitko

Příspěvekod slavi » 12 lis 2010 15:04

priznavam ze popsat nekomu vlastni myslenkovy pochod je obtizne a prve jsem popsla problem dosti spatne, nicmene stejne problem trva.

prikladam xls soubor,abych lepe vysvetlil jak bych potreboval, aby vse fungovalo
http://www.ulozto.cz/6534689/sesit2-xls

navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: kopirovani na tlacitko

Příspěvekod navstevnik » 12 lis 2010 16:54

Upresni:
- tlacitek bude celkem 6 (proti kazdemu radku tabulky)?
- co v pripade, ze tabulka Data!D10:F20 bude plna?
- budou jeste nejake dalsi doplnujici pozadavky?

PS.: Ta pole se seznamem bys mohl pouzit z ovladacich prvku ActiveX.

slavi
nováček
Příspěvky: 13
Registrován: listopad 10
Pohlaví: Muž
Stav:
Offline

Re: kopirovani na tlacitko

Příspěvekod slavi » 14 lis 2010 12:53

doplneni:
-ano, tlacitko bude patrik ke kazdemu radnu - co radek to tlacitko
-rozsah tabulky je pevne dany a nikdy by nemelo dojit k preteceni, do tabylky se bude vzdy prenaset maximalne 3-4 radky zbytek je pouze jako rezerva, ale pro me ucely je tento rozsah maximalni a plne dostacujici
-v tento moment je toto jedine co me trapi

rePS: potrebuji to mit co nejjednodusi,abych se v tom pak casem vyznal

navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: kopirovani na tlacitko

Příspěvekod navstevnik » 14 lis 2010 13:24

K reseni lze pristoupit ruznym zpusobem - sofistikovane nebo hrubou silou.
Prvni pristup umoznuje mit na listu radove desitky tlacitek s moznost pridavat tlacitka, aniz je nutno zasahovat do kodu procedur. Reseni v priloze Sesit2.xls
Druhy pristup co tlacitko to procedura - Sesit2_v1.xls.
PS.: A priste zkus pouzit prijemnejsi barvy na pozadi bunek, ty pouzite jsou vhodne tak pro barvoslepe, kterym to nekazi zrak.
Přílohy
Sešit2_v1.xls
(67 KiB) Staženo 22 x
Sešit2.xls
(79 KiB) Staženo 23 x

slavi
nováček
Příspěvky: 13
Registrován: listopad 10
Pohlaví: Muž
Stav:
Offline

Re: kopirovani na tlacitko

Příspěvekod slavi » 15 lis 2010 09:05

dekuji za snahu,ale bohuzel mi neustale vyskakuje chyba pri stisku tlacitka:

Kód: Vybrat vše

Set PrvniVolnaBunka = .Cells(9, "D").End(xlDown).Offset(1, 0)


v obou dvou sesitech se jedna o stejnou chybu - jeste jsem do kodu nezasahoval


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Překousané kabely reset sw, tlačítko start na case
    od Speedhack » 22 kvě 2025 00:04 » v Problémy s hardwarem
    12
    4435
    od atari Zobrazit poslední příspěvek
    29 kvě 2025 09:07
  • ComboBox v Excelu kopírování Příloha(y)
    od LukM » 19 říj 2024 14:03 » v Kancelářské balíky
    0
    2646
    od LukM Zobrazit poslední příspěvek
    19 říj 2024 14:03

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 7 hostů