Hei,
Osaisiko joku tehdä makron, joka siirtää excel-taulukosta solut A1, D3, E3 ja F4 tiedot toiselle excel-taulukolle (c://ABC.xls) ja laittaa ne riville 1. toisen kerran kun siirtoja tekee (siis excel taulukko 2) niin tiedot siirtyy riville 2 ja kolmannella kerralla ku ajaa makron ((siis excel taulukko 3) niin tiedot siirtyy seuraavalle riville jne. Elikkä idea olisi se, että yhteen taulukkoon voisi helposti kerätä eri taulukoiden tiedot helposti ja ne siirtyvät taulukkoon ABC aina allekkain.
Tietenkin se voisi pahatua ylhäältä alaspäin. Niin että ensimmäiselle riville tehtäisiin uusi rivi johon uudet tiedot siirtyvät ja muut tiedot ovat sen alapuolle.
Mutta kuitenkin niin, että missä tahansa taulukossa ajan makron tiedot siirtyvät taulukkoon ABC:hen.
Jos joku viitsisi auttaa, niin olisin hyvin kiitollinen!
Osaisiko joku tehdä makron, joka siirtää excel-taulukosta solut A1, D3, E3 ja F4 tiedot toiselle excel-taulukolle (c://ABC.xls) ja laittaa ne riville 1. toisen kerran kun siirtoja tekee (siis excel taulukko 2) niin tiedot siirtyy riville 2 ja kolmannella kerralla ku ajaa makron ((siis excel taulukko 3) niin tiedot siirtyy seuraavalle riville jne. Elikkä idea olisi se, että yhteen taulukkoon voisi helposti kerätä eri taulukoiden tiedot helposti ja ne siirtyvät taulukkoon ABC aina allekkain.
Tietenkin se voisi pahatua ylhäältä alaspäin. Niin että ensimmäiselle riville tehtäisiin uusi rivi johon uudet tiedot siirtyvät ja muut tiedot ovat sen alapuolle.
Mutta kuitenkin niin, että missä tahansa taulukossa ajan makron tiedot siirtyvät taulukkoon ABC:hen.
Jos joku viitsisi auttaa, niin olisin hyvin kiitollinen!
Vastaukset 1
Vanhimmat
oli vissiin termit hukassa kun puhuttiin työkirjaa taulukkona ja taulukkoa taulukkona, joten ajattelin mennä aidan matalimmasta kohtaa yli...
siis samassa työkirjassa kopioi ABC taulukkoon kaikki muut taulukon
määritellyt alueet
Sub Siirrä()
Dim ws As Worksheet
Dim vika As Long
On Error Resume Next
Application.ScreenUpdating = False
With Worksheets("ABC")
.Activate
.Cells.Clear
End With
vika = 0
For Each ws In ActiveWorkbook.Sheets
If Not ws.Name = "ABC" Then
ws.Range("A1").Copy Range("ABC!A1").Offset(vika, 0)
ws.Range("D3").Copy Range("ABC!A1").Offset(vika, 1)
ws.Range("E3").Copy Range("ABC!A1").Offset(vika, 2)
ws.Range("F4").Copy Range("ABC!A1").Offset(vika, 3)
vika = vika 1
End If
Next
Application.ScreenUpdating = True
End Sub