Kuvan hakeminen Exceliin

Excel-Turo

Osaisiko kukaan antaa neuvoja seuraavaan ongelmaan. Excel-taulukossa pitäisi saada soluun kopioitua kuva joka vastaa toisen solun tekstiä. Eli kun ensimmäiseen soluun kirjoitaan teksti, niin viereeseen soluun tulee tätä tekstiä vastaava kuva. Nuo kuvat on liitetty Exceliin toiselle välilehdelle, nyt ne vaan pitäisi saada näkymään tekstin vieressä.

11

1614

    Vastaukset 11

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • nyt Sheet1 solua C10 käytetään ja kuvat taulukossa Sheet2.

      taulukon moduuliin...

      Private Sub Worksheet_Change(ByVal Target As Range)
      Dim Kuva As Picture
      Dim Kuva2 As Picture
      If Not Intersect(Target, Range("C10")) Is Nothing Then
      For Each Kuva In Sheets("Sheet1").Pictures
      If Kuva.Top = Target.Offset(0, 1).Top And Kuva.Left = Target.Offset(0, 1).Left Then
      Kuva.Delete
      End If
      Next
      With Target
      For Each Kuva2 In Sheets("Sheet2").Pictures
      If Kuva2.Name = .Text Then
      Sheets("Sheet2").Shapes(Kuva2.Name).Copy
      ActiveSheet.Paste
      Selection.Top = .Offset(0, 1).Top
      Selection.Left = .Offset(0, 1).Left
      ' Selection.Height = 200
      ' Selection.Width = 200
      Exit For
      End If
      Next Kuva2
      End With
      End If
      End Sub

      Keep Excelling
      @Kunde

      • Excel-Turo

        Kiitoksia paljon tästä Kunde. Voisitko vähän vielä neuvoa tarkemmin kuinka tämä tehdään, olen sen verran aloittelija excelin kanssa. VBA:n kanssa perusasiatkin ovat opettelussa.

        Eli sheet1 solussa C10 syötetään tuo hakuteksti, jota vastaava kuva sitten pitäisi hakea sheet2 välilehdeltä vaikka sheet1 soluun c11. Kuinka saan nimettyä nuo kuvat sheet2 välilehdellä? Pitääkö sheet1 lisätä hakunappi, johon makro jossa tuo koodi minkä lähetit? Vai onnistuuko se niin, että kun sheet1 c10- solun tekstiä muutetaan, niin myös viereinen kuva muuttuu?


      • Excel-Turo kirjoitti:

        Kiitoksia paljon tästä Kunde. Voisitko vähän vielä neuvoa tarkemmin kuinka tämä tehdään, olen sen verran aloittelija excelin kanssa. VBA:n kanssa perusasiatkin ovat opettelussa.

        Eli sheet1 solussa C10 syötetään tuo hakuteksti, jota vastaava kuva sitten pitäisi hakea sheet2 välilehdeltä vaikka sheet1 soluun c11. Kuinka saan nimettyä nuo kuvat sheet2 välilehdellä? Pitääkö sheet1 lisätä hakunappi, johon makro jossa tuo koodi minkä lähetit? Vai onnistuuko se niin, että kun sheet1 c10- solun tekstiä muutetaan, niin myös viereinen kuva muuttuu?

        Kuvan nimeäminen:
        Klikkaa kuvaa ja nimiruudussa kirjoitat haluamasi nimen ja ENTER

        ei tartte nappia, kun nimi muuttuu niin hakee automaattisesti (jos soluun kirjoitetaan nimetty kuva löytyy kuvista)...

        toki voit tehdä kuvista listan ja laittaa sen kelpoissusehdoksi niin ainakin menee oikein( nimi on Case Sensitive) eli pitää olla just oikein kirjoitettu tai sitten koodissa muutat esim.
        If Ucase(Kuva2.Name) =Ucase( .Text) Then jolloin isoilla ja pienillä kirjaimilla ei ole eroa

        Keep Excelling
        @Kunde


      • kuvanvaihtaja
        kunde kirjoitti:

        Kuvan nimeäminen:
        Klikkaa kuvaa ja nimiruudussa kirjoitat haluamasi nimen ja ENTER

        ei tartte nappia, kun nimi muuttuu niin hakee automaattisesti (jos soluun kirjoitetaan nimetty kuva löytyy kuvista)...

        toki voit tehdä kuvista listan ja laittaa sen kelpoissusehdoksi niin ainakin menee oikein( nimi on Case Sensitive) eli pitää olla just oikein kirjoitettu tai sitten koodissa muutat esim.
        If Ucase(Kuva2.Name) =Ucase( .Text) Then jolloin isoilla ja pienillä kirjaimilla ei ole eroa

        Keep Excelling
        @Kunde

        näin:
        Kuvien nimet ja kuvat Taul2 A ja B sarakkeella (otsikkoineen)
        Tehdään kerralla dynaaminen taulukko (hakukaavat päivittyy automaattisesti sitä mukaa kun lisäät uusia nimiä ja kuvia)
        1. Taul2 A1 otsikko "Nimi" ja B1 "Kuva" (Otsikot saat tietysti itse valita)
        - A2 kuvan nimi, B2 kuva (isonnat solun kokoa että kuva varmasti sopii solun sisälle)
        - jne...
        2. Klikkaa Lisää > Nimi > Määritä
        - "Nimet työkirjassa" anna nimi vaikka: Nimilista
        - "Viittaa" kohtaan =SIIRTYMÄ(Taul2!$A$1;1;0;LASKE.A(Taul2!$A:$A)-1;1)
        - Uusi "Nimet työkirjassa" anna nimi: Kuvat
        - "Viittaa" kohtaan =SIIRTYMÄ(Taul2!$B$2;VASTINE(Taul1!$A$2;Nimilista;0)-1;0;1;1)
        3.Klikkaa Taul1 A2 (tämän voit määrätä itse, mutta muista laittaa sama kaavaan kohtaan ...VASTINE(Taul1!$A$2....)
        - avaa Tiedot > Kelpoisuustarkistus
        - Asetukset-välilehti: "Hyväksy" --> Luettelo
        - Lähde: =Nimilista
        4. Mene Taul2 ja klikkaa 1 kuvaa ja Kopioi
        - mene Taul1 ja Liitä (kuvan voi liittää minne vain, ei tarvitse mitään määrättyä solua, eikä ole solun koosta riippuvainen, on ns. "kelluva" kuva ja kokoa voi "kahvoista" isontaa/pinentää)
        - klikkaa ylhäältä Kaavariviä kuvan ollessa vielä "valittuna" ja kirjoita sinne =Kuvat
        Klikkaa nyt A2, nuolta painamalla avautuu "Nimilista", valitse joku ja kuva vaihtuu
        Voit lisätä Taul2 A ja B sarakkeelle uusia nimiä ja kuvia, "Nimilista" ja "Kuvat" päivittyy mukana automaattisesti, ei tarvitse muuttaa kaavoihin alueita
        Voit tietenkin jättää tuon "Kelpoisuustarkistuksen" pois ja kirjoittaa suoraan A2:selle nimen, mutta muista että nimi täytyy olla aivan samaten kirjoitettu kuin se on Taul2:ssa kirjoitettu, muuten ei löydy
        Näyttää hankalalta mutta kun perehtyy niin on ihan "simppeli" juttu.


      • Excel-Turo
        kuvanvaihtaja kirjoitti:

        näin:
        Kuvien nimet ja kuvat Taul2 A ja B sarakkeella (otsikkoineen)
        Tehdään kerralla dynaaminen taulukko (hakukaavat päivittyy automaattisesti sitä mukaa kun lisäät uusia nimiä ja kuvia)
        1. Taul2 A1 otsikko "Nimi" ja B1 "Kuva" (Otsikot saat tietysti itse valita)
        - A2 kuvan nimi, B2 kuva (isonnat solun kokoa että kuva varmasti sopii solun sisälle)
        - jne...
        2. Klikkaa Lisää > Nimi > Määritä
        - "Nimet työkirjassa" anna nimi vaikka: Nimilista
        - "Viittaa" kohtaan =SIIRTYMÄ(Taul2!$A$1;1;0;LASKE.A(Taul2!$A:$A)-1;1)
        - Uusi "Nimet työkirjassa" anna nimi: Kuvat
        - "Viittaa" kohtaan =SIIRTYMÄ(Taul2!$B$2;VASTINE(Taul1!$A$2;Nimilista;0)-1;0;1;1)
        3.Klikkaa Taul1 A2 (tämän voit määrätä itse, mutta muista laittaa sama kaavaan kohtaan ...VASTINE(Taul1!$A$2....)
        - avaa Tiedot > Kelpoisuustarkistus
        - Asetukset-välilehti: "Hyväksy" --> Luettelo
        - Lähde: =Nimilista
        4. Mene Taul2 ja klikkaa 1 kuvaa ja Kopioi
        - mene Taul1 ja Liitä (kuvan voi liittää minne vain, ei tarvitse mitään määrättyä solua, eikä ole solun koosta riippuvainen, on ns. "kelluva" kuva ja kokoa voi "kahvoista" isontaa/pinentää)
        - klikkaa ylhäältä Kaavariviä kuvan ollessa vielä "valittuna" ja kirjoita sinne =Kuvat
        Klikkaa nyt A2, nuolta painamalla avautuu "Nimilista", valitse joku ja kuva vaihtuu
        Voit lisätä Taul2 A ja B sarakkeelle uusia nimiä ja kuvia, "Nimilista" ja "Kuvat" päivittyy mukana automaattisesti, ei tarvitse muuttaa kaavoihin alueita
        Voit tietenkin jättää tuon "Kelpoisuustarkistuksen" pois ja kirjoittaa suoraan A2:selle nimen, mutta muista että nimi täytyy olla aivan samaten kirjoitettu kuin se on Taul2:ssa kirjoitettu, muuten ei löydy
        Näyttää hankalalta mutta kun perehtyy niin on ihan "simppeli" juttu.

        Kiitoksia molemmille vastanneille. Kokeilin tuota jälkimmäistä vaihtoehtoa ja homma onnistui tuohon kohtaan 4 asti. Kun kuva 1 on kopioitu TAUL1een ja on vielä valittuna, niin kaavariville kirjoittaminen ei onnistu. Mikähän tuossa menee pieleen?


      • Ei nörtti
        kuvanvaihtaja kirjoitti:

        näin:
        Kuvien nimet ja kuvat Taul2 A ja B sarakkeella (otsikkoineen)
        Tehdään kerralla dynaaminen taulukko (hakukaavat päivittyy automaattisesti sitä mukaa kun lisäät uusia nimiä ja kuvia)
        1. Taul2 A1 otsikko "Nimi" ja B1 "Kuva" (Otsikot saat tietysti itse valita)
        - A2 kuvan nimi, B2 kuva (isonnat solun kokoa että kuva varmasti sopii solun sisälle)
        - jne...
        2. Klikkaa Lisää > Nimi > Määritä
        - "Nimet työkirjassa" anna nimi vaikka: Nimilista
        - "Viittaa" kohtaan =SIIRTYMÄ(Taul2!$A$1;1;0;LASKE.A(Taul2!$A:$A)-1;1)
        - Uusi "Nimet työkirjassa" anna nimi: Kuvat
        - "Viittaa" kohtaan =SIIRTYMÄ(Taul2!$B$2;VASTINE(Taul1!$A$2;Nimilista;0)-1;0;1;1)
        3.Klikkaa Taul1 A2 (tämän voit määrätä itse, mutta muista laittaa sama kaavaan kohtaan ...VASTINE(Taul1!$A$2....)
        - avaa Tiedot > Kelpoisuustarkistus
        - Asetukset-välilehti: "Hyväksy" --> Luettelo
        - Lähde: =Nimilista
        4. Mene Taul2 ja klikkaa 1 kuvaa ja Kopioi
        - mene Taul1 ja Liitä (kuvan voi liittää minne vain, ei tarvitse mitään määrättyä solua, eikä ole solun koosta riippuvainen, on ns. "kelluva" kuva ja kokoa voi "kahvoista" isontaa/pinentää)
        - klikkaa ylhäältä Kaavariviä kuvan ollessa vielä "valittuna" ja kirjoita sinne =Kuvat
        Klikkaa nyt A2, nuolta painamalla avautuu "Nimilista", valitse joku ja kuva vaihtuu
        Voit lisätä Taul2 A ja B sarakkeelle uusia nimiä ja kuvia, "Nimilista" ja "Kuvat" päivittyy mukana automaattisesti, ei tarvitse muuttaa kaavoihin alueita
        Voit tietenkin jättää tuon "Kelpoisuustarkistuksen" pois ja kirjoittaa suoraan A2:selle nimen, mutta muista että nimi täytyy olla aivan samaten kirjoitettu kuin se on Taul2:ssa kirjoitettu, muuten ei löydy
        Näyttää hankalalta mutta kun perehtyy niin on ihan "simppeli" juttu.

        puoli tuntia väsäsin 20 vuoden Excel kokemuksella...
        kumpi sitten käyttäjän kannalta helpompaa?
        lisätä kuvat mihin vaan taulukossa2, nimetä ne sopivalla nimellä ohjeiden mukaan ja kopioida Kunden koodi ja se on siinä...
        vaiko tuhertaa?
        päättäkää itse ;- )


      • Excel-Turo
        Ei nörtti kirjoitti:

        puoli tuntia väsäsin 20 vuoden Excel kokemuksella...
        kumpi sitten käyttäjän kannalta helpompaa?
        lisätä kuvat mihin vaan taulukossa2, nimetä ne sopivalla nimellä ohjeiden mukaan ja kopioida Kunden koodi ja se on siinä...
        vaiko tuhertaa?
        päättäkää itse ;- )

        No nyt sain toimimaan sen Kunden ohjeen / koodin avulla. Vielä kun tuon saisi niin, että tuon kuvan pystyisi kopiomaan useammalle välilehdelle tiettyihin soluihin. Eli ensimmäisellä sivulla on tuo valintatekstisolu ja kuva kopioituisi valituille välilehdille valittuun soluun.


      • Excel-Turo kirjoitti:

        No nyt sain toimimaan sen Kunden ohjeen / koodin avulla. Vielä kun tuon saisi niin, että tuon kuvan pystyisi kopiomaan useammalle välilehdelle tiettyihin soluihin. Eli ensimmäisellä sivulla on tuo valintatekstisolu ja kuva kopioituisi valituille välilehdille valittuun soluun.

        helpostikin fiksattua kuten ei nörtti toteaa kopioimalla....

        Private Sub Worksheet_Change(ByVal Target As Range)
        Dim Kuva As Picture
        Dim Kuva1 As Picture
        Dim Kuva2 As Picture
        Dim Kuva3 As Picture
        'jne
        On Error Resume Next
        If Not Intersect(Target, Range("C10")) Is Nothing Then
        For Each Kuva1 In Sheets("Taul1").Pictures
        If Kuva1.Top = Target.Offset(0, 1).Top And Kuva1.Left = Target.Offset(0, 1).Left Then
        Kuva.Delete
        End If
        Next Kuva1

        For Each Kuva2 In Sheets("Taul3").Pictures
        If Kuva2.Top = Target.Offset(0, 1).Top And Kuva2.Left = Target.Offset(0, 1).Left Then
        Kuva2.Delete
        End If
        Next Kuva2

        For Each Kuva3 In Sheets("Taul4").Pictures
        If Kuva3.Top = Target.Offset(0, 1).Top And Kuva3.Left = Target.Offset(0, 1).Left Then
        Kuva3.Delete
        End If
        Next Kuva3
        'jne

        With Target
        For Each Kuva In Sheets("Taul2").Pictures
        If Kuva.Name = .Text Then
        Sheets("Taul2").Shapes(Kuva.Name).Copy

        Sheets("Taul1").Activate
        ActiveSheet.Paste
        Selection.Top = .Offset(0, 1).Top
        Selection.Left = .Offset(0, 1).Left

        Sheets("Taul3").Activate
        ActiveSheet.Paste
        Selection.Top = Range("F10").Top
        Selection.Left = Range("F10").Left

        Sheets("Taul4").Activate
        ActiveSheet.Paste
        Selection.Top = Range("C4").Top
        Selection.Left = Range("C4").Left
        Exit For
        End If
        Next Kuva
        End With
        End If
        End Sub


      • kuvanvaihtaja
        kunde kirjoitti:

        helpostikin fiksattua kuten ei nörtti toteaa kopioimalla....

        Private Sub Worksheet_Change(ByVal Target As Range)
        Dim Kuva As Picture
        Dim Kuva1 As Picture
        Dim Kuva2 As Picture
        Dim Kuva3 As Picture
        'jne
        On Error Resume Next
        If Not Intersect(Target, Range("C10")) Is Nothing Then
        For Each Kuva1 In Sheets("Taul1").Pictures
        If Kuva1.Top = Target.Offset(0, 1).Top And Kuva1.Left = Target.Offset(0, 1).Left Then
        Kuva.Delete
        End If
        Next Kuva1

        For Each Kuva2 In Sheets("Taul3").Pictures
        If Kuva2.Top = Target.Offset(0, 1).Top And Kuva2.Left = Target.Offset(0, 1).Left Then
        Kuva2.Delete
        End If
        Next Kuva2

        For Each Kuva3 In Sheets("Taul4").Pictures
        If Kuva3.Top = Target.Offset(0, 1).Top And Kuva3.Left = Target.Offset(0, 1).Left Then
        Kuva3.Delete
        End If
        Next Kuva3
        'jne

        With Target
        For Each Kuva In Sheets("Taul2").Pictures
        If Kuva.Name = .Text Then
        Sheets("Taul2").Shapes(Kuva.Name).Copy

        Sheets("Taul1").Activate
        ActiveSheet.Paste
        Selection.Top = .Offset(0, 1).Top
        Selection.Left = .Offset(0, 1).Left

        Sheets("Taul3").Activate
        ActiveSheet.Paste
        Selection.Top = Range("F10").Top
        Selection.Left = Range("F10").Left

        Sheets("Taul4").Activate
        ActiveSheet.Paste
        Selection.Top = Range("C4").Top
        Selection.Left = Range("C4").Left
        Exit For
        End If
        Next Kuva
        End With
        End If
        End Sub

        kirjoittajalta. Epäilin ensin että kaavoihin oli tullut joku "painovirhepaholainen"
        ja testasin ne suoraan tuosta kopioimalla, kyllä ne pelasi.
        Ensin ei meinannut vaihtaa kuvaa ollenkaan, mutta sitten "otin" hiirellä kiinni tuosta A2 ja siirsin sen eri paikkaan, niin heti alkoi pelaamaan. En tiedä mikä siinä oli.
        Käytössä Excel 2003


      • kuvanvaihtaja
        kuvanvaihtaja kirjoitti:

        kirjoittajalta. Epäilin ensin että kaavoihin oli tullut joku "painovirhepaholainen"
        ja testasin ne suoraan tuosta kopioimalla, kyllä ne pelasi.
        Ensin ei meinannut vaihtaa kuvaa ollenkaan, mutta sitten "otin" hiirellä kiinni tuosta A2 ja siirsin sen eri paikkaan, niin heti alkoi pelaamaan. En tiedä mikä siinä oli.
        Käytössä Excel 2003

        mainitsematta tuo sivu josta itse aikanaan sain ohjeet tuon "tempun" tekemiseen.
        http://www.jkp-ads.com/articles/ShowPicture00.asp


      • Excel-Turo

    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
      23
      1555
    2. Viesti sinulle

      Tiedät että tunteet ja ajatukset ja meillä on vahva yhteys mistä molemmat tiedetään. Odotan sinua ☀️
      Ikävä
      65
      1278
    3. Olen kironnut sinut alimpaan helvettiin

      Hyvää matkaa.
      Ikävä
      98
      1020
    4. Mitä sinulle on tapahtunut lapsena

      Kun olet noin sairas päästäsi? Pikkupojalle ( Miehen kehossa)
      Ikävä
      105
      944
    5. Persujen Puhoksen retki

      Perussuomalaiset olivat tehneet turistibussimatkan Puhokseen. Tosin raukat olivat niin peloissaan, etteivät uskaltaneet
      Perussuomalaiset
      311
      869
    6. Haluan purkaa vielä tuntemuksia

      Tykkään sinusta kovin paljon❤️ olen surullinen tilanteestasi ja siitä mitä me olemme yhdessä joutuneet kokemaan. Tämä ei
      Ikävä
      21
      817
    7. Lopetetaanko tämä

      Juttu ja mennään eteenpäin? Pystytkö?
      Ikävä
      120
      745
    8. Tunteiden käsittely kertoo ihmisestä.

      Kun puhutaan "tavallisesta" ihmisestä, joka on suht tasapainoinen eläjä, niin puhutaan oikeastaan taitavasta tunteiden k
      Sinkut
      225
      740
    9. Kyllä tiedän sun

      Likaiset pelit selän takana
      Ikävä
      61
      685
    10. Onko tuo joku katkera nainen oikeasti

      Joka sinua syyttää?
      Ikävä
      103
      656
    11. Ketkä käy potkimassa ovia öisin?

      Enää ei naurata.
      Haapavesi
      13
      614
    12. Jopa poliisi nauraa paskaista pelkuripersuille

      Puhoksessa jäi "isänmaantoivot" bussiin vapisemaan :-D https://www.is.fi/politiikka/art-2000012319632.html
      Maailman menoa
      298
      603
    13. Just saying

      Mies joka antaa naiselle turvallisen olon, on seksikäs. Ei kieroja kikkoja ja haluaa olla vain sen yhden naisen mies.
      Ikävä
      106
      568
    14. 38
      509
    15. Pilkettä sunnuntain silmässä

      😉 Jos tästä ketjusta löytyisi yksi ihminen, joka saisi sut hymyilemään tänään… Millainen hän olisi? Ei tarvitse kerto
      Sinkut
      73
      491
    16. Tehdään yhdessä itsestämme

      Parhaat versiot❤️ Se vaatii molemmilta hyvää itsetuntoa!
      Ikävä
      40
      490
    17. Voisin antaa sulle nyt

      Halin❤️
      Ikävä
      47
      484
    18. Jos selviäisi että kaivattusi

      Olisi savant asperger? Rakastaisitko vielä? Savant-lahjakkuus olisi kapea-alaista neroutta liittyen mekanisiin ja tilan
      Ikävä
      82
      473
    19. 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
      81
      465
    20. 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
      59
      465
    Aihe