Tietojen siirto tyyppinumeron perusteella

toiseen taulukkoon....

Hei!

Ongelmani liittyy kahden taulukon tietoihin jotka pitäisi yhdistää yhteen tauluun.
Elikkä ensimmäisessä taulukossa A sarakkeessa on tyyppinumero ja B sarakkeessa osan tieto. Koska osan tietoja on paljon niin tyyppinumeroita on peräkkäin 3 -18 kappaleita ja sen jälkeen B sarakkeessa on osan tiedot. Esimerkin vastaavalla tavalla:

Tyyppin. Osan tieto
111   mutteri M12
111   Pirkka 2 kpl
111   pultti M12
112   Mutteri M10
112   Prikka 4 kpl
112   Pultti M10
112   Punainen maali
112   mittari
113   kotelo
113   keltainen maali
Jne….


Nämä tiedot pitäisi siirtää toiseen taulukkoon (esim toiseen välilehteen), niin että A sarakkeessa pysyisi tyyppinumero, mutta kaikki osan tiedot siirrettäisiin transporen komennon avulla vaakatasoon, niin että ensimmäinen tieto tulee b sarakkeeseen, toinen tieto tulee c sarakkeeseen, kolmas tulee d sarakkeeseen jne.


Tyyppinumeroita on pelkästään 450 kappaleita ja osan tietoja on muutama tuhat.
Jos jollakin olisi tähän oikeaa makroa, niin olisin enemmänkin kuin kiitollinen.

1

281

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • moduuliin...
      muuttele taulukoiden nimet sopiviksi

      Option Explicit
      Dim EiTupla As New Collection
      Sub Kopioi()
      Dim Tiedot As Variant
      Dim Alue As Range
      Dim i As Integer
      On Error Resume Next
      Application.ScreenUpdating = False
      Application.DisplayAlerts = False
      Worksheets("Sheet1").Activate
      Worksheets("Sheet2").Cells.Clear
      PoistaTuplat
      For i = 1 To EiTupla.Count
      Set Alue = EtsiJaSiirrä(EiTupla(i), Columns("A")).Offset(0, 1)
      Tiedot = Alue
      Tiedot = Application.WorksheetFunction.Transpose(Tiedot)
      Range("Sheet2!A" & i) = EiTupla(i)
      Range("Sheet2!B" & i).Resize(Alue.Columns.Count, Alue.Rows.Count) = Tiedot
      Next i
      Worksheets("Sheet2").Cells.EntireColumn.AutoFit
      Application.ScreenUpdating = True
      Application.DisplayAlerts = True
      End Sub
      Sub PoistaTuplat()
      Dim solu As Range
      Dim Vika As Double
      On Error GoTo virhe
      Vika = Range("A65536").End(xlUp).Row
      For Each solu In Range("A1:A" & Vika)
      If Not IsEmpty(solu) Then
      EiTupla.Add solu.Value, CStr(solu.Value)
      End If
      Next solu
      Exit Sub
      virhe:
      Resume Next
      End Sub
      Function EtsiJaSiirrä(Haettava As Variant, _
      Hakualue As Range) As Range

      Dim solu As Range
      Dim ekaosoite As String

      With Hakualue
      Set solu = .Find( _
      What:=Haettava, _
      LookIn:=xlValues, _
      LookAt:=xlWhole, _
      SearchOrder:=xlByRows, _
      SearchDirection:=xlNext, _
      MatchCase:=False, _
      SearchFormat:=False)
      If Not solu Is Nothing Then
      Set EtsiJaSiirrä = solu
      ekaosoite = solu.Address
      Do
      Set EtsiJaSiirrä = Union(EtsiJaSiirrä, solu)
      Set solu = .FindNext(solu)
      Loop While Not solu Is Nothing And solu.Address ekaosoite
      End If
      End With
      End Function

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Mitä tapahtunut

      Poliiseja monta autoa+panssariauto Porista kpäähän päin tänään klo n.20 kuka hurjistunut ?
      Kankaanpää
      46
      5661
    2. Lakea konkurssiin. Asukkaat menettävät asuntonsa

      Kuntarahoitus on tänään jättänyt konkurssihakemuksen lakean kaikista kiinteistö osakeyhtiöistä. Kassa on tyhjä, kaikki
      Seinäjoki
      48
      2895
    3. Gallup: kaivattusi syntymävuosi

      Minä vuonna kaipaamasi henkilö on syntynyt?
      Ikävä
      183
      2605
    4. Nikkalassa vauhdilla nokka kohti taivasta

      Mitähän Darwin sanoisi näistä 4 suomalaisesta, jotka kävivät Haparandan puolella näyttämässä, kuinka Suomi auto kulkee t
      Tornio ja Haaparanta
      9
      2240
    5. Missäpäin,,,

      Lapuaa tapettu ihminen viime yönä ? Hurjaa touhua nykymeno täällä...
      Lapua
      27
      2043
    6. mahdollista, että olet ollut iltavuorossa

      Ja kotiin päästyäsi tulit palstalle etsimään merkkiä minusta, jos kaipaat yhtään minua niin kuin minä sinua Ei mennyt k
      Ikävä
      12
      1932
    7. törniöläiset kaaharit haaparannassa

      isäpapan autolla kaahatta 270 km/h metsään https://www.lapinkansa.fi/nsd-kaksi-suomalaista-kuoli-kolarissa-haaparannall/
      Tornio ja Haaparanta
      14
      1655
    8. Mitähän ne katseet merkitsee

      Kun et saa sanaa suustasi.
      Ikävä
      145
      1285
    9. Upea peppuisella naisella

      Upea peppuisella naisella on upea peppu.
      Ikävä
      13
      1107
    10. Sitä saa mitä tilaa Perussuomalaiset!

      https://yle.fi/a/74-20160212 SDP:n kannatus se vain nousee ja Keskusta on kolmantena. Kokoomus saanut pienen osan persu
      Maailman menoa
      256
      1099
    Aihe