< návrat zpět

MS Excel


Téma: automatizace excelu rss

Zaslal/a 24.4.2015 14:42

Dobrý den, jsem tu nový a potřebuji pomoc.

Mám zadání:

Z listu 2, sloupce B, potřebuji vložit + transponovat 24 hodnot do listu 1 od řádku 1 od buňky E až.... 24 pozice.

Tímto způsobem musím vzít 24x 365 dní. Lze to nějak zautomatizovat na jeden klik?

Tímto způsobem musím vzít 24x 365 dní. Lze to nějak zautomatizovat na jeden klik?

Předem moc děkuji

Zaslat odpověď >

#024634
avatar
tady je soubor: http://www.edisk.cz/stahni/44887/Sesit1.xlsx_10.57KB.html

Jinak excel samozřejmě nekončí řádkem 41, ale ......xxxxxxxxxxxxcitovat
#024644
avatar
jestli to zadání chápu tak možno takto:
Příloha: rar24644_reseni.rar (25kB, staženo 28x)
citovat
#024648
elninoslov
Podstatne rýchlejší variant:
Sub Transponuj()
Dim Pole(), rPole As Integer, Riadok As Integer, Stlpec As Byte
Dim Vysledok(1 To 366, 1 To 24)
Pole = Worksheets("List2").Range("B1:B8784").Value
rPole = 0
For Riadok = 1 To 366
For Stlpec = 1 To 24
rPole = rPole + 1
Vysledok(Riadok, Stlpec) = IIf(IsEmpty(Pole(rPole, 1)), "", Pole(rPole, 1))
Next Stlpec
Next Riadok
Worksheets("List1").Range("E1:AB366") = Vysledok
End Sub

Ale myslím si, že sú opäť nedostatočné informácie. Postrehy :
-List2 - dátum a čas pribúda smerom dole
-List1 - dátum pribúda opačne smerom hore
-s dátami nemôžeš počítať ako s 365 dňami, ale s 366.
-z prílohy tak nejak vyplýva, že dátum a čas v tabuľke nebude vopred zadaný, a uživateľ by dopĺňal do tejto nachystanej tabuľky číslo. Nie, to práveže vyzerá tak, že riadok sa bude postupne dopĺňať. Čo je komplikácia, pri automatizovaní, pretože tým pádom máme stav, že 23x za deň bude chybný výsledok, a iba raz správny, pretože počítame s fixným počtom hodnôt 24.
...citovat
#024649
avatar
Velice Vám děkuji za pomoc. Je to přesně to, co jsem potřeboval.

Jinak příště zašlu lepší zadání :))

Díky chlapycitovat
#024650
elninoslov
Daj vedieť, presnejšie čo potrebuješ. Ako to bude fungovať, viď predošlé otázky. Veď ti pomôžeme.
Ak chceš radiť v List1 opačne, v makre musíš zmeniť riadok:
Vysledok(367 - Riadok, Stlpec) = IIf(IsEmpty(Pole(rPole, 1)), "", Pole(rPole, 1))
Ale ako vraím, to je iba dielčia časť. Treba to riešiť komplexnejšie, vzhľadom na meniaci sa počet dní v roku, počet hodinových záznamov v dni,...citovat

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