VBA ongelma

KAPOO

Eli tällainen ongelma.

Onnistun lähettämään taulukosta 1 tiettyjä solun arvoja taulukkoon 2 MUTTA kun arvot on lähetetty ja palataan taulukkoon yksi niin pitäisi palauttaa yhden solun arvoksi alkuperäinen lista josta käyttäjä on valinnut 2:desta vaihtoehdosta toisen.

Eli ongelmana on tuon solun palautuminen alkuperäiseen muotoonsa (lista). Kuinkas se onnistuu, olisiko esim Kundella ratkaisua asiaan ?

Ajatellaan vaikka että lista sijaitsee taulukossa 1 solussa F11

15

458

    Vastaukset 15

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • en tajunnut pätkääkään...

      • kapoo

        Eli Taul1:sessä solut A11 A12 on tyhjiä soluja joihin käyttäjä asettaa jonkun numeroarvon esim 1. Sitten solussa A13 on lista joka pitää sisällään kaksi vaihtoehtoa (Avoinna ja suljettu). Käyttäjä valitsee toisen vaihtoehdon listasta.

        Näin solujen arvoksi tulee esim. 1 1 Suljettu

        Makro vie ylläolevat arvot toiseen välilehteen esim Taul2:seen ja paluttaa ylläolevat solut tyhjiksi. Eli kaikki toimii hyvin muuten mutta kun tuo solu A13 jossa lista on pitäisi palautua takaisin samanlaiseksi listaksi kuin se olikin eikä tyhjäksi soluksi.

        Sori jos hiukan sekavasti selitän mutta VBA on hiukan vielä hakusessa :)


      • kapoo kirjoitti:

        Eli Taul1:sessä solut A11 A12 on tyhjiä soluja joihin käyttäjä asettaa jonkun numeroarvon esim 1. Sitten solussa A13 on lista joka pitää sisällään kaksi vaihtoehtoa (Avoinna ja suljettu). Käyttäjä valitsee toisen vaihtoehdon listasta.

        Näin solujen arvoksi tulee esim. 1 1 Suljettu

        Makro vie ylläolevat arvot toiseen välilehteen esim Taul2:seen ja paluttaa ylläolevat solut tyhjiksi. Eli kaikki toimii hyvin muuten mutta kun tuo solu A13 jossa lista on pitäisi palautua takaisin samanlaiseksi listaksi kuin se olikin eikä tyhjäksi soluksi.

        Sori jos hiukan sekavasti selitän mutta VBA on hiukan vielä hakusessa :)

        jos solussa A13 on kelpoisuusehtona lista, jossa 2 jäsentä Avoinna ja Suljettu
        Koodin pätkä Range("A11:A13").ClearContents tai Range("A11:C13") = "" tyhjentää solut
        Ja kun solua A13 klikkaa niin valinnat(Avoinna ja Suljettu) on käytössä.

        Mitenkäs se "lista" on tehty soluun A13?

        Keep EXCELing
        @Kunde


      • kapoo
        kunde kirjoitti:

        jos solussa A13 on kelpoisuusehtona lista, jossa 2 jäsentä Avoinna ja Suljettu
        Koodin pätkä Range("A11:A13").ClearContents tai Range("A11:C13") = "" tyhjentää solut
        Ja kun solua A13 klikkaa niin valinnat(Avoinna ja Suljettu) on käytössä.

        Mitenkäs se "lista" on tehty soluun A13?

        Keep EXCELing
        @Kunde

        "Lista" on tehty näin

        Soluissa AN15 ja AN16 on "Avoinna" ja "Suljettu" teksti. Sitten kelpoisuustarkistuksen kautta listan teko tuohon kyseiseen A13 soluun.

        Oisko listan tekoon ollut parempi tapa tuolla vba puolella ? Periaatteessa kuinka lista on tehty ei ole merkitystä minulle. Kunhan tuo teksti vain on siinä. Tekstin pohjaväri "Avoinna" täytyy olla punainen että se erottuu joukosta. "Suljettu" tekstin pohjaväri voi olla se perusvalkoinen.


      • Kapoo
        kapoo kirjoitti:

        "Lista" on tehty näin

        Soluissa AN15 ja AN16 on "Avoinna" ja "Suljettu" teksti. Sitten kelpoisuustarkistuksen kautta listan teko tuohon kyseiseen A13 soluun.

        Oisko listan tekoon ollut parempi tapa tuolla vba puolella ? Periaatteessa kuinka lista on tehty ei ole merkitystä minulle. Kunhan tuo teksti vain on siinä. Tekstin pohjaväri "Avoinna" täytyy olla punainen että se erottuu joukosta. "Suljettu" tekstin pohjaväri voi olla se perusvalkoinen.

        Sori Kunde !

        Idiootti kysyy kysymyksiä ennenkuin kokeilee kunnolla. Homma toimii vallan mainiosti vaikka .ClearContents käyttääkin. Oletin tyhmyyksissäni että tuo sana poistaa listan solusta. Tyhmä minä !!!!

        Mutta kiitos kuitenkin .

        Kyselin tuolla Visual basic puolella neuvoa myös toiseen ongelmaan johon en ole saanut vastausta oisko sulla tietoa asiasta?

        Eli haluaisin soluun A11 ja sellaisen jutun että jos käyttäjä kirjoittaa jotain lauseita siihen niin ne aina tulisi siihen isoilla kirjaimilla. Ja vastaavasti A12 sellainen että aina ensimmäinen kirjain lauseessa olisi iso.

        Kiitos jos jaksoit lukea näinkin pitkälle =)


      • Kapoo kirjoitti:

        Sori Kunde !

        Idiootti kysyy kysymyksiä ennenkuin kokeilee kunnolla. Homma toimii vallan mainiosti vaikka .ClearContents käyttääkin. Oletin tyhmyyksissäni että tuo sana poistaa listan solusta. Tyhmä minä !!!!

        Mutta kiitos kuitenkin .

        Kyselin tuolla Visual basic puolella neuvoa myös toiseen ongelmaan johon en ole saanut vastausta oisko sulla tietoa asiasta?

        Eli haluaisin soluun A11 ja sellaisen jutun että jos käyttäjä kirjoittaa jotain lauseita siihen niin ne aina tulisi siihen isoilla kirjaimilla. Ja vastaavasti A12 sellainen että aina ensimmäinen kirjain lauseessa olisi iso.

        Kiitos jos jaksoit lukea näinkin pitkälle =)

        ko. taulukon moduuliin...

        Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Range("A11")) Is Nothing Then
        Range("A11") = UCase(Range("A11"))
        End If
        If Not Intersect(Target, Range("A12")) Is Nothing Then
        Range("A12") = StrConv(Range("A12"), vbProperCase)
        End If
        End Sub


        Keep EXCELing
        @Kunde


    • Kapoo

      Kiitos kunde ! Kokeilen koodirivistöä kun pääsen oikealle tietokoneelle. Mutta eiköhän tuo luulis toimivan.

      P.s Liityin päiviä sitten kundepuu palstaan mutta kun mailiin tulee aktivointi viesti ja linkki jota painaa se vie palstan sivuile ja ilmoittaa tilin olevan inactive =(

      • Sorry mun webbisivut päivittämättä muitten kiireiden takia. Yritän saada ne ajan tasalle keväämmällä ilmoittelen sitten...


      • kapooo
        kunde kirjoitti:

        Sorry mun webbisivut päivittämättä muitten kiireiden takia. Yritän saada ne ajan tasalle keväämmällä ilmoittelen sitten...

        koodi toimii hyvin tuollaisenaan

        Kokeilin muuttaa koodia sen verran että isoilla kirjoitettu olisikin kahdessa solussa esim A11 ja A12 ja tuo toinen vaihtoehto olisi myös kahdessa solussa A13 ja A14

        Ei ainakaan näin toimi mitä yritin...

        Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Range("A11, A12")) Is Nothing Then
        Range("A11, A12") = UCase(Range("A11,A12"))
        End If
        If Not Intersect(Target, Range("A13, A14")) Is Nothing Then
        Range("A12") = StrConv(Range("A13, A14"), vbProperCase)
        End If
        End Sub


      • kapooo kirjoitti:

        koodi toimii hyvin tuollaisenaan

        Kokeilin muuttaa koodia sen verran että isoilla kirjoitettu olisikin kahdessa solussa esim A11 ja A12 ja tuo toinen vaihtoehto olisi myös kahdessa solussa A13 ja A14

        Ei ainakaan näin toimi mitä yritin...

        Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Range("A11, A12")) Is Nothing Then
        Range("A11, A12") = UCase(Range("A11,A12"))
        End If
        If Not Intersect(Target, Range("A13, A14")) Is Nothing Then
        Range("A12") = StrConv(Range("A13, A14"), vbProperCase)
        End If
        End Sub

        Pikku viilausta ....


        Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Range("A11:A12")) Is Nothing Then
        Target = UCase(Target)
        End If
        If Not Intersect(Target, Range("A13: A14")) Is Nothing Then
        Target = StrConv(Target, vbProperCase)
        End If
        End Sub


        Keep EXCELing
        @Kunde


    • kapoo

      Argh melkein toimii =)

      Isolla kirjoitetut toimii mut tuo toinen ei. Koodi tekee nyt sellaisen jutun että jokainen sana alkaa isolla. Ei ainoastaan pisteen jälkeen.

      Noh eiköhän netistä löydy ratkaisu tuohon pieneen ongelmaan.

      Kiitos !

      • pilkun jälkeen iso kirjain- harmaita hiuksia tuotti, mutta eiköhän toi nyt aika lähellä totuutta... -;)

        käytin tota WorksheetFunction.Trim(lause(i)) tossa, jotta se poistaa kaikki ylimääräisetkin välilyönnit lauseesta...

        Dim lause As Variant
        Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Range("A11:A12")) Is Nothing Then
        Target = UCase(Target)
        End If
        If Not Intersect(Target, Range("A13: A14")) Is Nothing Then
        lause = Split(Target, ".")
        For i = 0 To UBound(lause)
        lause(i) = WorksheetFunction.Trim(lause(i))
        If Len(lause(i)) > 0 Then lause(i) = UCase(Left(lause(i), 1)) & Mid(lause(i), 2)
        Next
        Target = Join(lause, ". ")
        End If
        End Sub

        Keep EXCELing
        @Kunde


    • kapoo

      Kiitos kunde! Koodi toimii hienosti .

    • kapoo

      Pikkasen takapakkia. Koodi toimii hienosti kun tekstiä syötetään mutta heti kun makrolla lähetän tiedot toiselle välilehdelle tulee "run time 13 error Type miss match" Ja viitataan kohtaan " Target = UCase(Target) " Eli 4 riviin tuossa yläpuolella.


      Voi rähmän rähmä sanon minä. Olikin liian kauon hyvä fiilis =(

      • TArgettia voit käyttää vain taulukon tapahtumakoodissa
        jos siirrät tietoa taulukosta toiseen niin esim.
        Range("Taul2!A2")= Ucase( Range("Taul1!A2"))


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

    Luetuimmat keskustelut

    1. Mikä on totta mikä ei?

      Onko juoru vai ei että nimeltä mainitsematon henkilö on tehnyt naiselle/naisille jotain joka on väärin?
      Kuhmo
      24
      2533
    2. Päivän aivopieru Trumpilta

      Trump julisti sodan hyttysiä vastaan. Myös punkit ovat Trumpin sodan kohteena. Eikö vieläkään USA:n kansa tajua tuon uko
      Maailman menoa
      88
      1662
    3. Lopetetaanko tämä

      Juttu ja mennään eteenpäin? Pystytkö?
      Ikävä
      135
      1043
    4. Just saying

      Mies joka antaa naiselle turvallisen olon, on seksikäs. Ei kieroja kikkoja ja haluaa olla vain sen yhden naisen mies.
      Ikävä
      143
      783
    5. Älä unohda minua

      Nainen ethän unohda minua. Asiat olisivat voineet mennä toisin, olisi vain pitänyt uskaltaa lähestyä sinua kun annoit si
      Ikävä
      80
      759
    6. Löytyikö syy miksi Martina on Muhiksen kanssa

      Saipa naurut Gekkosen kuvasta, missä ovat ravintola Hookissa Immu fight night ottelun jälkeen, Muhoksella pullottaa hirv
      Kotimaiset julkkisjuorut
      100
      750
    7. Voisin antaa sulle nyt

      Halin❤️
      Ikävä
      54
      722
    8. Janpen Thai lopettanut, miksiköhän

      Hyvää apetta teki.
      Suomussalmi
      13
      697
    9. On väärin

      Tykätä ja haluta sua kun tilanne täysin mahdoton mutta minkäs teet. Mun sisällä roihuaa 🔥 kunpa tietäisit mitä sä minus
      Ikävä
      43
      652
    10. Jorma Uotinen läväytti härskin heiton - Paljastus uudesta TTK-romanssista?

      Tuomari Jorma Uotisen linja on välillä hyvinkin rohkea TTK:ssa. Hän näpäytti Jaakko Parkkalille ja Kastanja Rauhalalle v
      Tanssii tähtien kanssa
      12
      638
    11. Jos selviäisi että kaivattusi

      Olisi savant asperger? Rakastaisitko vielä? Savant-lahjakkuus olisi kapea-alaista neroutta liittyen mekanisiin ja tilan
      Ikävä
      100
      637
    12. Valtuuston kokous

      Kyl tuo Anita Ruokani on ihan pihalla,käy aika hitaalla.
      Kemijärvi
      49
      580
    13. Olen ajellut Dieseleillä yli 50 vuotta.

      Enkä ole koskaan kaivannut sähköautoa.
      Hybridi- ja sähköautot
      142
      579
    14. Toivotko vielä viestiä

      Minulta? En rohkene enää ottaa yhteyttä, kun varmasti jo uusia naisia elämässä. Nolaisin vain itseni.
      Ikävä
      44
      579
    15. Tosi kiva on

      Joo. Mitä olisit menettänyt jos olisit paljastanut itsesi?
      Ikävä
      65
      571
    16. Tehdään yhdessä itsestämme

      Parhaat versiot❤️ Se vaatii molemmilta hyvää itsetuntoa!
      Ikävä
      42
      540
    17. Miksi jotku naiset on niin tyhmiä

      Että elättelevät turhaa toivoa toisen kustannuksella. Onko ne kaikki kaappilesboja vai mikä niitä vaivaa? Sitten itketä
      Ikävä
      54
      528
    18. S-ryhmän vastuullisuuden kaksoisstandardi

      Vastuullisuuspuhe on helppoa. Vaikeampaa on selittää, miksi S-ryhmän omien merkkien tuotteita ja raaka-aineita hankitaan
      Maailman menoa
      14
      526
    19. Kuka kaipaa T m?

      Kerro nainen kirjaimesi vaan... Haluan miettiä kuka tulee ekana mieleeni.. kuin kurkistus tunteiden meren pinnalle, jota
      Ikävä
      36
      520
    20. Oliko Jani Halmeen aika jo tippua TTK:sta?

      Jani Halme ja Claudia Ketonen joutuivat jättämään TTK:n. Halme ja Ketonen saivat viimeiseksi jäänestä tanssista, sambas
      Tanssii tähtien kanssa
      29
      516
    Aihe