Combobox valikko ja output erilaisiksi

aakennus

ListfillRangen solujen sisällöt ovat noin 20 merkkiä pitkiä ja näkyvät hyvin comboboxilla. LinkedCell on kuitenkin kapea ja tähän tarvittaisiin lyhenne näkyviin, koska sarakkeen leveyttä ei voida kasvattaa. Voidaanko comboboxin valikko ja lopullinen syöte poiketa toisistaan tai ratkeaisiko ongelmani jotenkin toisin?

Nykyinen koodini
TAUL1(Kapasiteetti): ComboBox2.LinkedCell = Cells(Target.Row, 2).Address

---
Combobox2.ListfillRange: Arvot!F10:F15
Solun A6 funktio on : =PHAKU(Kapasitteetti!B6;Arvot!F10:G15;2) (Lyhenteet ovat sarakkeessa G)
Eli käytän ylimääräistä saraketta B ja PHAKUA, jotta saan lyhenteet sarakkeeseen A. Sarake B on lopulta piilotettu, mutta haluaisin päästä eroon PHAUSTA, koska en voi suojata kaavaa salasanalla ja tällöin ratkaisu ei ole idioottivarma.

Löytyykö apua?

8

968

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Comboon molemmat sarakkeet ja ominaisuuksissa columcount=2 ja listfillrange F10:G15 . Jos et halua lyhenteitä näkyviin niin Columnwidths tokalle nollaksi esim. 100;0
      koodi nyt C1=linkedcell

      Private Sub ComboBox1_Change()
      Range("C1") = ComboBox1.List(ComboBox1.ListIndex, 1)
      End Sub

      Keep Excelling
      @Kunde

      • aakennus

        Kiitoksia vastauksesta. Tuo toimii itsessään ihan hyvin, mutta uusi ongelma nousi pintaan.

        Comboboxia valittaessa tulee ilmoitus "Järjestelmä resurssit eivät riitä täydelliseen näyttöön". Painamalla OK jää kyseinen ilmoitus vielä näytölle, mutta päivittämällä näkymän vaikkapa skrollaamalla katoaa ilmoitus ja comboboxin syötekin on tullut soluun näkyviin. Tiedostossani on paljon comboboxeja ja tuo virheilmoitus on aikaisemminkin tullut vastaaan, mutta nyt ongelma tuli uudelleen esiin.

        Mistä moinen virheilmoitus ja miten siitä pääsee eroon?


      • aakennus kirjoitti:

        Kiitoksia vastauksesta. Tuo toimii itsessään ihan hyvin, mutta uusi ongelma nousi pintaan.

        Comboboxia valittaessa tulee ilmoitus "Järjestelmä resurssit eivät riitä täydelliseen näyttöön". Painamalla OK jää kyseinen ilmoitus vielä näytölle, mutta päivittämällä näkymän vaikkapa skrollaamalla katoaa ilmoitus ja comboboxin syötekin on tullut soluun näkyviin. Tiedostossani on paljon comboboxeja ja tuo virheilmoitus on aikaisemminkin tullut vastaaan, mutta nyt ongelma tuli uudelleen esiin.

        Mistä moinen virheilmoitus ja miten siitä pääsee eroon?

        eli liikaa comboja, mihinkäs niitä niin paljon tarvitsee??? Mietipä niiden tarvetta uudelleen ja jos niitä tarttee paljon tee lomake ja combot sitten sinne, niin ei resurssit lopu kesken...
        @Kunde


      • aakennus
        aakennus kirjoitti:

        Kiitoksia vastauksesta. Tuo toimii itsessään ihan hyvin, mutta uusi ongelma nousi pintaan.

        Comboboxia valittaessa tulee ilmoitus "Järjestelmä resurssit eivät riitä täydelliseen näyttöön". Painamalla OK jää kyseinen ilmoitus vielä näytölle, mutta päivittämällä näkymän vaikkapa skrollaamalla katoaa ilmoitus ja comboboxin syötekin on tullut soluun näkyviin. Tiedostossani on paljon comboboxeja ja tuo virheilmoitus on aikaisemminkin tullut vastaaan, mutta nyt ongelma tuli uudelleen esiin.

        Mistä moinen virheilmoitus ja miten siitä pääsee eroon?

        Löysin vastauksen ongelmaani:
        http://support.microsoft.com/default.aspx?scid=kb;en-us;183503

        Aikamielenkiintoista, eikä ongelmaa näköjään ole saatu ratkaistua, koska Excel 97:ssa todettu ongelma on vielä 07:ssa.

        Listfillrangea en halua laittaa samaan tauluun comboboxin kanssa, joten zoomitaso pitää olla sama taulujen välillä. Nyt pitää vielä keksiä jonkinlainen synkkaus taulujen zoomitasoille...mahdollistako`?


      • aakennus

        Lopulta yhden comboboxin koodi on tälläinen:
        Private Sub tuuli_Click() (tai Change())
        Cells(ActiveCell.Row, 20).Value = tuuli.List(tuuli.ListIndex, 1)
        End Sub

        Jos sama arvo valitaan comboxista peräkkäin, jää ne ekan kerran jälkeen tulostumatta soluun.

        Esim. valitsen rivin 5 ja otan valikosta luvun 18 ja sen jälkeen valitsen rivin 8 ja taas valikosta luvun 18, mutta soluun (8,20) ei tule mitään. Kaikki muut luvut tulevat, mutta ei tämä juuri edellinen luku 18.

        Apuva...kunde!


      • aakennus kirjoitti:

        Lopulta yhden comboboxin koodi on tälläinen:
        Private Sub tuuli_Click() (tai Change())
        Cells(ActiveCell.Row, 20).Value = tuuli.List(tuuli.ListIndex, 1)
        End Sub

        Jos sama arvo valitaan comboxista peräkkäin, jää ne ekan kerran jälkeen tulostumatta soluun.

        Esim. valitsen rivin 5 ja otan valikosta luvun 18 ja sen jälkeen valitsen rivin 8 ja taas valikosta luvun 18, mutta soluun (8,20) ei tule mitään. Kaikki muut luvut tulevat, mutta ei tämä juuri edellinen luku 18.

        Apuva...kunde!

        eihän siinä mikään muutu kun samaa lukua yritetään syöttää
        vaihda tapahtumaa esim
        Private Sub ComboBox1_Click()
        ActiveCell = ComboBox1.Value
        ActiveCell.Select
        ComboBox1.ListIndex = -1
        End Sub


      • aakennus
        kunde kirjoitti:

        eihän siinä mikään muutu kun samaa lukua yritetään syöttää
        vaihda tapahtumaa esim
        Private Sub ComboBox1_Click()
        ActiveCell = ComboBox1.Value
        ActiveCell.Select
        ComboBox1.ListIndex = -1
        End Sub

        En ymmärtänyt vinkkiäsi. Pystytkö neuvomaan käyttäen tuota mun tilannetta ja nimiä?

        *Combobox on "tuuli" . Comboxissa näkyyy teksti, kuten meri, avoin maasto, metsä. Lopulta soluun ActiveCell.Row,20 valitaan list.index 1 eli maastoa vastaava tuulen nopeus.


      • aakennus kirjoitti:

        En ymmärtänyt vinkkiäsi. Pystytkö neuvomaan käyttäen tuota mun tilannetta ja nimiä?

        *Combobox on "tuuli" . Comboxissa näkyyy teksti, kuten meri, avoin maasto, metsä. Lopulta soluun ActiveCell.Row,20 valitaan list.index 1 eli maastoa vastaava tuulen nopeus.

        Private Sub tuuli_Click()
        Cells(ActiveCell.Row, 20).Value = tuuli.List(tuuli.ListIndex, 1)
        Cells(ActiveCell.Row, 20).Select
        tuuli.ListIndex = -1
        End Sub

        koodissa siis käytetään Click tapahtumaa ja se siirtää valinnan Cells(ActiveCell.Row, 20) soluun. Sen jälkeen poistetaan kohdistus combosta siirtämäällä se soluun ja lopuksi poistetaan combosta valinta, eli näin saadan valinta aina toimimaan toisin kuin change tapahtumassa, missä ei siis tapahdu muutosta jos valitaan sama valinta uudestaan ...

        Keep Excelling
        @Kunde


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

    Luetuimmat keskustelut

    1. Anna minulle anteeksi

      Anna minulle anteeksi. Minä pyydän.
      Ikävä
      158
      2001
    2. Kun viimeksi kohtasitte/näitte

      Mitä olitte tekemässä? Millainen ympäristö oli? Löydetään toisemme...
      Ikävä
      131
      1774
    3. Olet kyllä vaarallisen himokas

      Luova, kaunis, määrätietoinen, pervo, mielenkiintoinen, kovanaama, naisellinen ja erikoinen.
      Ikävä
      102
      1547
    4. Mikä on hän on ammatiltaan?

      Vai tiedätkö mitä kaivattusi tekee työkseen?
      Ikävä
      72
      1250
    5. Anna vielä vähän vihreää valoa

      Teen sitten siirtoni, nainen. Tiedän, että olet jo varovaisesti yrittänyt lähestyä, mutta siitä on jo aikaa. Jos tunnet
      Ikävä
      17
      1233
    6. Mitä ajattelit silloin kun

      Löysit hänet?
      Ikävä
      68
      1191
    7. Syksyinen aamuketju suden

      Hyvää huomenta ja kaunista syyspäivää. 🌞🍁🍂☕
      Ikävä
      220
      988
    8. Oletko tutustunut muihin

      Samalla tavalla kuin häneen?
      Ikävä
      70
      815
    9. Uskotko että kohdataan vielä?

      Kysymys otsikossa, aloitukseen ei muuta lisättävää.
      Ikävä
      45
      750
    10. Miksi homous puhuttaa konservatiiveja vuodesta toiseen?

      Kysymykseen on vastattukin Kansanlähetyksen osalta: "Miksi sukupuoleen ja seksuaalisuuteen liittyvät asiat ovat konserv
      Luterilaisuus
      194
      723
    Aihe