Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 13 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 23.07.12
Prihlásený: 30.07.12
Príspevky: 7
Témy: 1
Príspevok NapísalOffline : 23.07.2012 18:55

dobry den
ako spojim viac harkov spolu.
v kazdom harku mam stlpec B a I z ktorych potrebujem dat
hodnoty do noveho harku
tie udaje by som potreboval len prepisat do noveho harku
tych harkov je 160 (okrem ctrlc a ctrl v :) )

dakujem


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.11.07
Prihlásený: 02.07.21
Príspevky: 101
Témy: 21
Bydlisko: Bratislava
Príspevok NapísalOffline : 24.07.2012 18:37

Skús nahrať makro a upraviť, ak máš s tým skúsenosti.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 23.07.12
Prihlásený: 30.07.12
Príspevky: 7
Témy: 1
Príspevok Napísal autor témyOffline : 24.07.2012 19:39

poprosim ta ako na to.

dakujem


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.11.07
Prihlásený: 02.07.21
Príspevky: 101
Témy: 21
Bydlisko: Bratislava
Príspevok NapísalOffline : 25.07.2012 10:25

Sorry.
Ja som uplny laik.

Skusil som to takto, ale sprosty Excel nechce akceptovať ani jeden sposob kopirovania, ktore su uvedené v helpe. Bila Gatesa by som zastrelil za to hneď. 2 hodiny sa s tým hrám a nefunguje to.
Myšlienka je taká, že treba vytvoriť harok s nazvom "copy" (bez uvodzoviek) v tom zošite (ani to neviem spraviť) a spustiť makro, ale nejde to.

Je tu niekto, kto by to vedel rozchodiť?


Treba vytvoriť nové makro a do tela skopírovať toto:

i = 1
For Each sh In Worksheets
MsgBox (sh.Name)
If sh.Name <> "copy" Then

Rem 1. sposob
sh.Range("B:B").Copy Destination:=Worksheets("copy").Range(Cells(1, i))
i = i + 1

Rem 2. sposob
sh.Select
Range("I:I").Select
Selection.Copy
Worksheets("copy").Select
Range(Cells(1,i)).Activate
Selection.Paste
i = i + 1
End If
Next sh

End Sub



Človek, ktorý pracuje s makrami a má čas to rozchodiť a aj to rozhodí, ma veľmi poteší, pretože sa niečo naučím.

// pridané po 1 hodine 48 minútach od posledného príspevku

Prosím Ťa, najprv si urob kópiu dokumentu a niekde si ju odlož ako zálohu.

Nejako sa mi to podarilo zbúchať:
Vytvor nové makro:
v menu Zobraziť (v Office 2010) daj "Zaznamenať makro", kľudne nechaj ten názov, aký tam je (Makro1) a daj "OK".
v menu Zobraziť daj "Zastaviť záznam"
v menu Zobraziť daj "Zobraziť makrá"
vyber to nahraté makro a daj "Úpravy"
a vlož tam toto makro medzi Sub Makro1() a End Sub


Kód:
    i = 1
    For Each sh In Worksheets
    If sh.Name <> "copy" Then
        sh.Select
        Columns("B:B").Select
        Selection.Copy
        Sheets("copy").Select
        Columns(i).Select
        ActiveSheet.Paste
        i = i + 1
        sh.Select
        Columns("I:I").Select
        Selection.Copy
        Sheets("copy").Select
        Columns(i).Select
        ActiveSheet.Paste
        i = i + 1
    End If
        Next sh



Po vložení zavri okno "Visual Basic for App..."
Vytvor hárok s názvom "copy" (Musí sa volať presne "copy" bez úvodzoviek (4 znaky))

Spusti makro.
"Zobraziť makrá"
vyber nahraté makro
"Spustiť"

Daj, prosím Ťa, vedieť, či to zbehlo tak ako má.

// pridané po 12 hodinách 10 minútach od posledného príspevku

Mozes pouzit aj tento kod :)

Kód:
    i = 1
    For Each sh In Sheets
    If sh.Name <> "copy" Then
        sh.Columns("B").Copy Destination:=Sheets("copy").Columns(i)
        i = i + 1
        sh.Columns("I").Copy Destination:=Sheets("copy").Columns(i)
        i = i + 1
    End If
        Next sh


Robi to iste, je kratsi a vyzera lepsie.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 23.07.12
Prihlásený: 30.07.12
Príspevky: 7
Témy: 1
Príspevok Napísal autor témyOffline : 25.07.2012 20:01

super sme o niečo dalej.
všetky udaje dalo do kopy
ako dosiahnut aby isli pod seba a nie vedla seba?
ď.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.11.07
Prihlásený: 02.07.21
Príspevky: 101
Témy: 21
Bydlisko: Bratislava
Príspevok NapísalOffline : 26.07.2012 18:24

Tie dáta zaberajú všade rovnaký počet riadkov, alebo je to hárok od hárku rôzne?
Ak zaberajú rovnaký počet riadkov, tak koľko riadkov?

// pridané po 21 hodinách 26 minútach od posledného príspevku

Hotovo.
- program zistí pokiaľ je zaplnený stĺpec B (row_add_b), to isté aj stĺpec I (row_add_i)
- vyššiu hodnotu uloží do row_add
- overí, či sú vôbec nejaké dáta (to znamená, že ak je posledná zaplnená bunka stĺpcov v riadku 1 a prvé bunky oboch stĺpcov sú prázdne, preskočí kopírovanie tohto hárku)
- pripojí kopírované dáta za koniec posledného údaju v hárku
- zvýši hodnotu row_index o hodnotu počet skopírovaných riadkov (row_add) - hodnota row_index ukazuje na riadok kam sa bude kopírovať.






Kód:
     destination_sheet = "copy"
     row_index = 1
     For Each sh In Sheets
     If sh.Name <> destination_sheet Then
         sh.Activate
         Range("B65535").Select
         row_add_b = Range(Selection, Selection.End(xlUp)).Row
         Range("I65535").Select
         row_add_i = Range(Selection, Selection.End(xlUp)).Row
         row_add = row_add_i
         If row_add_b > row_add_i Then row_add = row_add_b
         If row_add > 1 Or Cells(1, 2) <> "" Or Cells(1, 9) <> "" Then
            Range("B1", Cells(row_add, 2)).Select
            Selection.Copy Destination:=Sheets(destination_sheet).Cells(row_index, 1)
            Range("I1", Cells(row_add, 9)).Select
            Selection.Copy Destination:=Sheets(destination_sheet).Cells(row_index, 2)
            row_index = row_index + row_add
         End If
     End If
     Next sh
     Sheets(destination_sheet).Activate




Otázka pre znalých excelovských makier: Ako zistím posledný údaj v stĺpci?

Ja som to musel tak, že som urobil select od 65535. riadku po xlUp (presunie na najbližší údaj hore) a potom som si hodnotu uložil do premennej.

Kód:
Range("I65535").Select
row_add_i = Range(Selection, Selection.End(xlUp)).Row     //tento príkaz úplne zbytočne robí select, čo neúmerne spomaľuje beh programu (vlastne oba príkazy)


existuje nejaký normálny spôsob, ako zistiť posledný údaj v stĺpci?

Ďakujem.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 23.07.12
Prihlásený: 30.07.12
Príspevky: 7
Témy: 1
Príspevok Napísal autor témyOffline : 26.07.2012 18:57

skopiroval som kod a po spustení vysvietilo na žlto tento riadok:
Selection.Copy Destination:=Sheets(destination_sheet).Cells(row_index, 2)

- nemožno zmeniť časť zlúčenej bunky

uvedený riadok som vymazal a dalo to pod seba

- udaje ktore potrebujem su v stlpcoch B/H/I/J zvyčajne riadky 3 - 30

- skušal som to na 48 stranach / prenieslo to aj ostatné stlpce /
kde boli udaje pod stlpcom H alebo J tak tam prenieslo len A a B stlpec
------------------
zošit sa sklada zo stlpcov A-M a do 30 riadkov
keby sa urobil kod na prenesenie všetkych stlpcov a riadkov pod seba tak ako su?
ď.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.11.07
Prihlásený: 02.07.21
Príspevky: 101
Témy: 21
Bydlisko: Bratislava
Príspevok NapísalOffline : 26.07.2012 19:34

Ak to nie je tajné, môžeš mi ten dokument poslať? Aby som to mohol odskúšať.
Ja som to pochopil tak, že potrebuješ zo 160 listov (hárkov) údaje zo stĺpcov B a I dať pod seba do jedného hárka.
Ja som ten kód testoval na rôznych dátach a fungoval mi. Ale kód určite neráta s tým, že sú zlúčene bunky. Máš v tom súbore zlúčené bunky?

Selection.Copy Destination:=Sheets(destination_sheet).Cells(row_index, 2)
ten príkaz kopíruje vybranú oblasť na miesto kde row_index je riadok a 2 je stĺpec.
Takže ak chceš iné stĺpce prenášať aj v príkaze Cells to musíš zmeniť.

Ideálne by bolo , ak by si mi mohol ten dokument poslať.

suchsoft(zavinac)remakesystem.com




Heh, až teraz som pochopil, ok, to by šlo. Proste urobiť kópírovanie v rozsahu A1:M30. Ale neviem, či sa dnes k tomu dostanem,


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 23.07.12
Prihlásený: 30.07.12
Príspevky: 7
Témy: 1
Príspevok Napísal autor témyOffline : 26.07.2012 20:22

- poslať sa mi to neda :(
- niektore bunky su zlučene
- pochopil si to OK (B a I)
- ked som to prechadzal kus po kuse tak udaje su aj v stlpci H,J
- dalo by sa mu určiť že prenes udaje v harkoch od A1 po J45 a spoj ich do "copy"

a tam by som si to už poopravoval ( jednotlive stlpce)
ď.

// pridané po 2 minútach od posledného príspevku

posledny riadok som necital
to asi preto že mam maly monitor :)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.11.07
Prihlásený: 02.07.21
Príspevky: 101
Témy: 21
Bydlisko: Bratislava
Príspevok NapísalOffline : 26.07.2012 22:44

Spravím tak, keď nie dnes, tak najneskor do zajtra do 17:00.

// pridané po 1 hodine 22 minútach od posledného príspevku

Takže takto:

Kód:
destination_sheet = "copy"
row_index = 1
For Each sh In Sheets
If sh.Name <> destination_sheet Then
    sh.Activate
    Range("A1:J45").Copy Destination:=Sheets(destination_sheet).Cells(row_index, 1)
    row_index = row_index + 45
End If
Next sh
Sheets(destination_sheet).Activate


Toto bolo moc jednoduche :-D po tom všetkom, čo som sa naučil.
Daj vedieť, ako to dopadlo. Ale verím, že už bez problémov.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 23.07.12
Prihlásený: 30.07.12
Príspevky: 7
Témy: 1
Príspevok Napísal autor témyOffline : 30.07.2012 18:19

dakujem, za tvoju pomoc
dost mi to ulahcilo pracu
-----------------------------
aj ja som trocha mudrejsi
-----------------------------
ked sa tak vratim na zaciatok a zobrali by sme alternativu ze chcem spojit len urcite stlpce aj ked su zlucene?

dakujem.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.11.07
Prihlásený: 02.07.21
Príspevky: 101
Témy: 21
Bydlisko: Bratislava
Príspevok NapísalOffline : 30.07.2012 21:28

Samozrejme, že je to možné spraviť. Lenže ja som len začiatočník. :rolleyes:
Ak to nutne potrebuješ, môžem sa o to pokúsiť :roll:

Len mi to musíš presnejšie napísať, čo potrebuješ.
Myslíš to tak, že kopírovať stĺpce, ktorých aspoň jedna bunka je horizontálne zlúčená s inou bunkou?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 23.07.12
Prihlásený: 30.07.12
Príspevky: 7
Témy: 1
Príspevok Napísal autor témyOffline : 11.08.2012 18:45

az dnes sa mi podarilo dostat k pc
bol som dlho mimo
-----------------------------------------
vyskocil mi iny problem:
mam 75 suborov excel / po 1 harku
je na to figel ako dat vsetko do jedneho suboru kde by bolo 75 harkov?
dakujem


Odpovedať na tému [ Príspevkov: 13 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Spojenie registracnych udajov viac webov.

v Databázy

4

598

21.03.2016 11:38

BX Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Excel 2013 - filtrovanie údajov

v Ostatné programy

0

376

29.07.2016 17:49

Maximal Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Excel - automaticke vlozenie udajov/riadkov

v Ostatné programy

0

358

17.03.2020 11:21

ovechkin888 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. excel - import údajov z tabulky na webe

v Ostatné programy

1

387

24.07.2014 13:40

jozko007 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. EXCEL - zvacsenie pisma v ponuke OVERENIE UDAJOV/ZOZNAM

v Ostatné programy

0

466

29.12.2015 17:35

Rabbit Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. excel - prenos udajov z jedneho harku do druheho

v Ostatné programy

11

2312

26.02.2010 14:22

jojom Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. porovnavanie udajov a editacia udajov

v PHP, ASP

10

1333

07.03.2008 20:45

Blackdevil Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. spojenie

v Ostatné

2

754

19.08.2007 14:39

Santy31 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. spojenie particii

v Pevné disky a radiče

3

1091

22.11.2008 13:28

methodmanbj Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. spojenie autoroutu

v Ostatné programy

5

531

21.11.2006 15:38

shiro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. spojenie disku

v Ostatné programy

9

1499

12.04.2007 21:38

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. spojenie tabuliek

v Databázy

4

397

19.12.2013 11:21

ChickenHunter79 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Spojenie videí

v Video programy

6

698

02.10.2009 17:12

Dzin Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. spojenie monitorov

v Monitory, televízory a projektory

5

506

20.10.2014 19:29

Knight_7705 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. spojenie prihlaseni

v PHP, ASP

5

515

17.06.2008 13:43

jozefstefan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zle spojenie

v Video programy

2

490

13.10.2008 14:08

Skyro Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra