Makrolla solut osiin ja taulukoksi

Anonyymi-ap

Pitäisi saada tälläinen makro, enkä itse osaa

Makro jakaa solun osiin ja laittaa tiedot allekkain

Solun sisällä oleva erotinmerkki vaihtelee tilanteittain ja solualueen koko ja sijainti vaihtelee
Yhden kokonaisuuden / tilanteen sisällä kaikki erotinmerkit ovat samat
Yhden solun sisältö ( vaikka B2) on esim.
tammi;helmi;maalis ja määrä vaihtelee
Toisen solun sisältö (vaikka B3) on esim.
maanantai;tiistai;keskiviikko ja määrä vaihtelee
Ja rivimäärä vaihtelee

Makron vastaus olisi:
tammi
helmi
maalis
Välissä yksi tyhjä solu
maanantai
tiistai
keskiviikko

Kun käyttäjä käynnistää makron, hän valitsee inputboxin avulla:
erotin merkin
ja
käsiteltävän sarakkeen, josta makro osaisi ottaa kaikki täytetyt solut käsittelyyn mukaan
ja
Solun, josta alkaen vastaukset tulevat

Löysin netistä makroja, jotka toimivat osittain kuvatun mukaan
Yksi makro tekee juuri noin kuten kuvasin, mutta käyttäjä ei voi tehdä mitään valintoja.
Toisessa makrossa käyttäjä voi valita erotinmerkin inboxilla, mutta makro jakaa vain yhden solun osiin eikä muita valintoja voi tehdä

Tällä palstalla on ollut Excelin vba-koodauksen superosaajia.
Voisitteko tehdä tuollaisen makron?

Kovasti kiitoksia jo etukäteen

1

828

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Tarvittavat lähtötidot valitaan tässä InputBoxien sijaan UserFormilla. Tarvitaan kolme TextBoxia ja CommandButtonia (ja oman mielen mukaan muuta):
      TextBox1 - erotin
      TextBox2 - alue, jolta tiedot luetaan. Alueen voi valita CommandButton1:llä
      TextBox3 - solu, josta lähtien tulostetaan. Alueen voi valita CommandButton2:lla
      CommandButton1 - tulostaa rivit alkaen
      CommandButton2 - päivittää luettavaksi alueeksi valittuna olevan alueen
      CommandButton3 - päivittää tulostuksen alkamaan valittuna olevasta solusta

      UserForm1 aukeaa makrolla riveiksi ja jää näkyviin kunnes se suljetaan. Oletuksena tulostettavaksi valitaan rivit, jotka ovat valittuna kun makro käynnistetään ja tulostus tulee siitä yhden rivin päähän.

      Formin moduliin:

      Private Sub CommandButton1_Click()
          tee
      End Sub

      Private Sub CommandButton2_Click()
          UserForm1.TextBox2.Text = osoite(Selection)
      End Sub

      Private Sub CommandButton3_Click()
          UserForm1.TextBox3.Text = tulostusosoite(Selection)
      End Sub

      Private Sub UserForm_Activate()
          UserForm1.TextBox2.Text = osoite(Selection)
          tulostus = osoite(Cells(Selection.Row   Selection.Rows.Count   1, Selection.Column))
          Debug.Print tulostus
          UserForm1.TextBox3.Text = tulostus
      End Sub

      Tavalliseen moduliin:

      Sub riveiksi()
          UserForm1.TextBox2.Text = osoite(Selection)
          UserForm1.TextBox3.Text = tulostusosoite(Cells(Selection.Row   Selection.Rows.Count   1, Selection.Column))
          UserForm1.Show False
      End Sub

      Function osoite(r As Range) As String
          osoite = WorksheetFunction.Substitute(r.Address, "$", "")
      End Function

      Function tulostusosoite(r As Range) As String
          o = osoite(Selection)
          l = InStr(o, ":") - 1
          If l < 0 Then l = Len(o)
          tulostusosoite = Left(o, l)
      End Function

      Sub tee()
          erotin = UserForm1.TextBox1.Text
          Set alue = Range(UserForm1.TextBox2.Text)
          Set tulos = Range(UserForm1.TextBox3.Text)
          r = tulos.Row
          c = tulos.Column
          For Each s In alue
              t = Split(s, erotin)
              For i = 0 To UBound(t)
                  Cells(r, c) = t(i)
                  r = r   1
              Next i
              r = r   1
          Next s
      End Sub

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

    Luetuimmat keskustelut

    1. Säästäminen on typerää, muistakaa äänestää demareita

      Säästäminen on typerää, koska aiheuttaa vain talouden taantumista ja lopulta tappaa potilaan. Demareiden tapa on satsat
      Maailman menoa
      114
      8127
    2. Olli Rehn: Eläkkeistä pitää leikata. Nyt tuli Lindtmanille kauhun paikka

      jos johtaa seuraavaa hallitusta. Purra: eläkkeisiin ei kosketa. Eikä tällä hallituskaudella varmasti kosketa, mutta seur
      Maailman menoa
      428
      7289
    3. SDP:n budjetin peruskivi: "Rahaa nimittäin on!"

      Demarien talouspolitiikan ydin on usein tiivistetty klassiseen meemiin: rahaa on, kunhan se on jonkun muun rahaa. Vuoden
      Maailman menoa
      208
      5558
    4. Poliisien suosikkipuolueet ylivoimaisesti: Kokoomus ja persut

      samoin on armeijan henkilöstön kanssa. Sen sijaan sekä vihreät, vasliitto ja SDP ovat hyljeksittyjä puolueita poliisien
      Maailman menoa
      137
      4490
    5. Kun täällä kysytään aina vaan naisilta

      Niin nyt kysytään miehiltä. Mies, voisitko ottaa kumppaniksesi naisen joka nostaa enemmän penkistä kuin sinä? Tienaa en
      Sinkut
      82
      4441
    6. Sdp, Vihreät ja vasemmistoliitto muuttumassa naisten puolueiksi?

      Sdp 64 % naisia, vihreät 70 % naisia ja vasemmistoliitto 60 % naisia. Ilmankos ne puolueet ajaa autoilevien kantasuomal
      Maailman menoa
      99
      4351
    7. Hatunnosto! Mari Hynynen (os. Perankoski) ja Jouni Hynynen auttavat vähäosaisia upealla tavalla!

      Hatunnosto! Mari ja Jouni Hynynen ovat Vailla vakinaista asuntoa ry:n uudet kummit. Hynysiä motivoi halu lisätä ymmärr
      Maailman menoa
      10
      4062
    8. Tiesitkö? Tämä suomalainen keksi Elämäni biisi -sarjan - Viinin lipittely mainittu!

      Tiesitkö? Elämäni biisi on suomalainen formaatti ja sen takana on Petja Peltomaa. Hänen kynästä ovat lähtöisin myös mm.
      Tv-sarjat
      0
      3740
    9. Epäonnistunut "Tuppurais-operaatio" kaatoi Purran hallituksen

      Persut yrittivät viimemetreillä häivyttää omaa täydellistä epäonnistumistaan syyttämällä opposition edustajaa nimettömil
      Maailman menoa
      13
      2620
    10. Valtion alijäämä = yritystukien määrä = 10 mrd. euroa

      Mutta persut eivät vaan suostu tasapainottamaan valtion budjettia, vaikka yritystuet on tiedetty haitallisiksi. Miksi p
      Maailman menoa
      1
      2546
    Aihe