Ylikerroin.com
Suomen suurin vedonlyöntisivusto
Tänään on 16.12.2017, 09:53

Kaikki ajat ovat UTC + 2 tuntia



Aloita uusi ketju Vastaa viestiin  [ 5 viestiä ] 
Kirjoittaja Viesti
 Viestin otsikko: Excel-tiedostojen läpikäynti makron avulla?
ViestiLähetetty: 06.02.2012, 01:44 
Status: JäsenLiittynyt: 23.01.2004, 16:02Viestit: 43
Pisteitä: 10
Minulla on kansioon Hutipetsit tallennettuna 100 kpl standardimuotoisia Excel-työkirjoja nimiltään: eiosuikuna0202.xls, eiosuikuna0302.xls jne.

Nyt haluaisin kätevästi ja nopeasti yhdistää näihin yksittäisiin tiedostoihin tallettamaani dataa yhteen työkirjaan. Data on aina samassa paikassa, vaikkapa soluissa A1...A10 tai vaihtoehtoisesti alueella A1…C10.

Data pitäisi myös mahdollisesti samalla transponoida, jotta sen saisi muotoon yhden asiakirjan data yhdelle riville tai sen ollessa aluemuodossa esim. kolmelle peräkkäiselle riville.

Olisi hyvä, jos koostetyökirjaan saisi mukaan myös lähdetiedostojen nimet, esim. nimi sarakkeeseen A ja data sarakkeisiin B…K.

Lähdetiedostot tulisi avata vuorotellen ja sulkea aina ennen seuraavan avaamista.

Onko ylipäätäänkään mahdollista laatia makroa tähän tarkoitukseen helpottamaan copypasteilua?
0
Ylös
  Profiili
 
 Viestin otsikko: Re: Excel-tiedostojen läpikäynti makron avulla?
ViestiLähetetty: 06.02.2012, 14:09 
Avatar
Status: JäsenLiittynyt: 18.01.2011, 19:17Viestit: 1104Paikkakunta: Kamppi
Pisteitä: 3267
h kirjoitti:
Minulla on kansioon Hutipetsit tallennettuna 100 kpl standardimuotoisia Excel-työkirjoja nimiltään: eiosuikuna0202.xls, eiosuikuna0302.xls jne.

Nyt haluaisin kätevästi ja nopeasti yhdistää näihin yksittäisiin tiedostoihin tallettamaani dataa yhteen työkirjaan. Data on aina samassa paikassa, vaikkapa soluissa A1...A10 tai vaihtoehtoisesti alueella A1…C10.
Data pitäisi myös mahdollisesti samalla transponoida, jotta sen saisi muotoon yhden asiakirjan data yhdelle riville tai sen ollessa aluemuodossa esim. kolmelle peräkkäiselle riville.

Olisi hyvä, jos koostetyökirjaan saisi mukaan myös lähdetiedostojen nimet, esim. nimi sarakkeeseen A ja data sarakkeisiin B…K.
Lähdetiedostot tulisi avata vuorotellen ja sulkea aina ennen seuraavan avaamista.

Onko ylipäätäänkään mahdollista laatia makroa tähän tarkoitukseen helpottamaan copypasteilua?


Kyllä on mahdollista ja tässä saat yksinkertaisen mallin:

1. Luo C -aseman juureen kansio Temp (C:\Temp) ja kopioi kaikki nuo 100 työkirjaasi sinne.
2. Avaa Excel'issä uusi tyhjä työkirja, klikkaa 2-napilla ensimmäisen välilehden nimeä (Sheet1) ja valitse View Code
(en valitettavasti tiedä mitä nämä ovat suomeksi...)
3. Kopioi koodi-ikkunaan seuraava koodi:

Koodi:
Sub MergexlFiles()

    Dim SrcBook As Workbook
    Dim fso As Object, f As Object, ff As Object, f1 As Object
    Dim nextrow As Long

    Application.ScreenUpdating = False
   
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.Getfolder("C:\Temp\")
    Set ff = f.Files

    For Each f1 In ff

        Set SrcBook = Workbooks.Open(f1)
        SrcBook.Worksheets(1).Range("A1:C10").Copy
        ThisWorkbook.Worksheets(1).Activate
        nextrow = Range("B1000").End(xlUp).Row + 1
        Cells(nextrow, 1).Value = SrcBook.name
        Range("B" & nextrow).PasteSpecial Paste:=xlPasteValues, Transpose:=True
        Application.CutCopyMode = False
        SrcBook.Close
       

    Next
   
    Cells(2, 11).Select
    Application.ScreenUpdating = True

End Sub

4. Suorita koodi (Run)

Siinä kaikki.
Koodi on kirjoitettu Excel 2010 -versiolla eikä mahdollisesti toimi kovin vanhalla Excel'illä. :wink:
0

_________________
“There are two kinds of forecasters: those who don’t know, and those who don’t know they don’t know.”
(J K Galbraith)
Ylös
  Profiili
 
 Viestin otsikko: Re: Excel-tiedostojen läpikäynti makron avulla?
ViestiLähetetty: 06.02.2012, 21:41 
Status: JäsenLiittynyt: 23.01.2004, 16:02Viestit: 43
Pisteitä: 10
S.Mäenala kirjoitti:
Siinä kaikki.
Koodi on kirjoitettu Excel 2010 -versiolla eikä mahdollisesti toimi kovin vanhalla Excel'illä. :wink:

Kiitos, olipa siisti esitys! Teki just sen, mitä tarkoitinkin myös kymmenkunta vuotta vanhalla Excel-versiollani.

Sen verran jäi vielä toivetta, että jos haluaisin koostaa taulukoista erilaisia tietoja eri kohdista, niin kuinka tuota kaavaa tulisi modifioida? Esimerkki:
- Lähdeasiakirjan nimi -> koostetaulukon sarakkeeseen A
- Ottelutieto lähdetaulukosta solusta B1 -> sarakkeeseen B
- 1X2-prosentit lähdetaulukosta alueelta A35…C35 -> sarakkeisiin C…E (suoraan)
- Tulosdataa lähdetaulukosta alueelta H40…H49 -> sarakkeisiin F…O (transponoiden)

… mahdollisesti rivinvaihto ja toinen tai useampikin matsi samasta lähdefilestä (kuitenkin haettavia matseja aina sama määrä kaikissa lähdeasiakirjoissa)

… asiakirjan vaihto ja samalla rivinvaihto

… tai mitä jos halutaankin tiedot koosteeseen sarakkeittain eli vierekkäin

Ajattelin tässä nyt sellaista varsin yleispätevää ohjetta, josta voisi tällainen tumpulampikin muokata ja rakennella oman palapelin aina kulloistenkin tarpeiden mukaan, sillä eihän sitä aina etukäteen tiedä, mitä seuraavaksi saa päähänsä alkaa räknäilemään.

Josko jaksaisit vielä laittaa noista jonkinlaista simppeliä esimerkkiä.
0
Ylös
  Profiili
 
 Viestin otsikko: Re: Excel-tiedostojen läpikäynti makron avulla?
ViestiLähetetty: 13.02.2012, 20:23 
Avatar
Status: JäsenLiittynyt: 18.01.2011, 19:17Viestit: 1104Paikkakunta: Kamppi
Pisteitä: 3267
h kirjoitti:
...Teki just sen, mitä tarkoitinkin myös kymmenkunta vuotta vanhalla Excel-versiollani.
Sen verran jäi vielä toivetta, että jos…

Anteeksi h, vähän pitkät vastauspiuhat täällä päässä.
Hyvä kun toimi Sinunkin versiollasi!
Valitettavasti aikaresurssit eivät salli kovin henkilökohtaisten palvelujen tarjoamista.

Koodaamisen kannalta hankalimmat kohdat noissa Sinun toiveissasi liittyvät juuri asiakirjojen pyörittelyyn. Sen osuuden tuo yo. koodaus hoitaa for … next -loopissa jo valmiiksi. Kun asiakirja on auki, kirjoitetaan sen käsittelyä koskeva koodi siis tuon loopin sisään, tietysti ennen sulkukomentoa Close.
Välilehden valinta suoritetaan Worksheets -komennolla. Yksittäisiin soluihin viitataan Cells(row,column) -määrityksellä ja alue määritellään Rangella. Kaikista näistä tuolla koodissa on jo valmis malli.
Loppu on vain copy/pastea.
VBA-koodauksen perusteet on suht helppo oppia muutaman tunnin itseopiskelullakin. Netistä löytyy sopivaa opiskelumateriaalia yllin kyllin jollakin vba tuts -tyyppisellä haulla. :wink:
0
Ylös
  Profiili
 
 Viestin otsikko: Re: Excel-tiedostojen läpikäynti makron avulla?
ViestiLähetetty: 14.02.2012, 19:41 
Status: JäsenLiittynyt: 23.01.2004, 16:02Viestit: 43
Pisteitä: 10
S.Mäenala kirjoitti:
Valitettavasti aikaresurssit eivät salli kovin henkilökohtaisten palvelujen tarjoamista.

...VBA-koodauksen perusteet on suht helppo oppia muutaman tunnin itseopiskelullakin.

Kysymykseni ydinasia tuossa tosiaan tulikin eli tiedostojen vuoronperäinen läpikäynti, mikä on jo sinällään kannaltani ratkaiseva asia, kun tässä suurin piirtein "Hello Word" -tasolta lähdetään VBA-luuppia puskemaan. Täytyy jossakin sopivassa vaiheessa ottaa lapio kouraan, niin enköhän ohjeittesi pohjalta saa aikaiseksi vielä vaikka mitä...

Kiitos ja kumarrus!
0
Ylös
  Profiili
 
Näytä viestit ajalta:  Järjestä  
Aloita uusi ketju Vastaa viestiin  [ 5 viestiä ] 

Kaikki ajat ovat UTC + 2 tuntia


Paikallaolijat

Käyttäjiä lukemassa tätä aluetta: Ei rekisteröityneitä käyttäjiä ja 3 vierailijaa


Et voi kirjoittaa uusia viestejä
Et voi vastata viestiketjuihin
Et voi muokata omia viestejäsi
Et voi poistaa omia viestejäsi
Et voi lähettää liitetiedostoja.

Hyppää:  


Powered by phpBB © 2008 phpBB Group | Käännös, Lurttinen, www.phpbbsuomi.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye