Kopírování "jmen" pod sebe dle daného počtu Vyřešeno

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

Moderátor: Mods_senior

saabturboclub
Level 1
Level 1
Příspěvky: 99
Registrován: červenec 10
Pohlaví: Muž
Stav:
Offline

Kopírování "jmen" pod sebe dle daného počtu  Vyřešeno

Příspěvekod saabturboclub » 09 črc 2010 05:11

Ahoj,
potřeboval bych poradit, jak v excelu (VB) udělám následovné: př: oblast B2:B13 bude obsahovat přítomné lidi v práci (max. 11lidí) s tím, že počet se liší podle docházky, může bát jen 5 lidí z určené oblasti. V další záložce bych měl sloupec obsahující čísla úkolů pod sebou (třeba 500řádků). A potřeboval bych aby se jména z vybrané oblasti (ted jich je třeba jen 5) se nakopírovala vedle čísla úkolu začínající od prvního řádku a vybrané jména se budou pod sebou opakovat podle zadaného počtu v nějaké bunce (třeba 12 = jméno se bude max. 12x opakovat = člověk dostane 12 čísel úkolů)-.

nemůžu přijít na to, jak zadat dle určitého počtu kopírování pod sebe, někdy může být 11jmen a každé dostane 20 úkolů...

Díky za radu, Pavel
Přílohy
RADA.xlsx
příklad příloha
(12.57 KiB) Staženo 16 x

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

Re: Kopírování "jmen" pod sebe dle daného počtu

Příspěvekod navstevnik » 09 črc 2010 09:41

Procedura resici pozadovane, (v edotoru VBA vlozit do standardniho modulu, volat klavesovou zkratkou nebo z menu):

Kód: Vybrat vše

Option Explicit

Sub PrirazeniPracovniku()
  Dim SBlk As Range, SCll As Range
  Dim TCll As Range, Opakovat As Byte, OfsR As Integer

  ' deklarovat blok seznamu pracovniku a nacist pocet opakovani
  With Worksheets("list1")
    Set SBlk = .Range(.Range("b2"), .Range("b2").End(xlDown))
    If SBlk.Rows.Count > 11 Then MsgBox "Seznam pracovniku je prazdny": GoTo ErrExit
    If Not IsNumeric(.Range("g2").Value) Then MsgBox "Chyba v zadani poctu opakovani": GoTo ErrExit
    Opakovat = Int(.Range("g2").Value)
  End With
  Set TCll = Worksheets("data").Range("b2")
  ' ve smycce vlozit opakovane jmena na list Data
  OfsR = 0
  Do While Opakovat > 0
    For Each SCll In SBlk.Cells
      TCll.Offset(OfsR, 0).Value = SCll.Value
      OfsR = OfsR + 1
    Next SCll
    Opakovat = Opakovat - 1
  Loop
  Set TCll = Nothing
  Set SCll = Nothing
ErrExit:
  Set SBlk = Nothing
End Sub


PS.: Je mozno doplnit preneseni oznacenych jmen z listu dochazka na list1 pouzitim funkci listu.
mozne reseni je v priloze:
Přílohy
Rada.xls
(55.5 KiB) Staženo 15 x


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Rozdělení sítě na podsítě, výpočet podsítí podle počtu hostů Příloha(y)
    od zuzana3 » 27 pro 2024 08:09 » v Administrace sítě
    12
    4725
    od petr22 Zobrazit poslední příspěvek
    27 pro 2024 12:29
  • Tisk sloupců vedle sebe na A4 - Excel
    od atari » 24 dub 2025 10:51 » v Kancelářské balíky
    5
    3908
    od atari Zobrazit poslední příspěvek
    26 dub 2025 09:11
  • ComboBox v Excelu kopírování Příloha(y)
    od LukM » 19 říj 2024 14:03 » v Kancelářské balíky
    0
    2643
    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 4 hosti