Eli vaikka näin:
Käyttäjä napsuttelee arvoja taulukkoalueelle B3:J10. Kunkin sarakkeen 2. rivillä on pitkä kuvaus, jonka käyttäjän pitäisi nähdä ko. sarakkeeseen arvoja syöttäessään. Taulukko kuitenkin näyttäisi kömpelöltä jos sarakkeiden B-J leveys olisi niin leveä että 2. rivin arvon näyttämiselle olisi tilaa. Rivityksestäkin huolimatta.
Miten saan haluamaani soluun (vaikka A1) näkyville aktiivisen sarakkeen rivin 2 arvon? Onnistuuko ilman VBA-ohjelmointia?
Käyttäjä napsuttelee arvoja taulukkoalueelle B3:J10. Kunkin sarakkeen 2. rivillä on pitkä kuvaus, jonka käyttäjän pitäisi nähdä ko. sarakkeeseen arvoja syöttäessään. Taulukko kuitenkin näyttäisi kömpelöltä jos sarakkeiden B-J leveys olisi niin leveä että 2. rivin arvon näyttämiselle olisi tilaa. Rivityksestäkin huolimatta.
Miten saan haluamaani soluun (vaikka A1) näkyville aktiivisen sarakkeen rivin 2 arvon? Onnistuuko ilman VBA-ohjelmointia?
Vastaukset 6
Vanhimmat
kaikkein parhaiten. Klikkaa kyseisen taulun nimeä taulukon alalaidassa hiiren oikealla näppäimellä ja valitse 'Näytä koodi'. Kopioi makro siihen makroikkunaan. Tämän jälkeen tämän taulun soluihin B3:J10 tietoa syötettäessä ao. sarakkeen rivillä 2 oleva tieto saadaan A1 -soluun.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B3:J10")) Is Nothing Then
col = Target.Column
On Error Resume Next
If Target.Value = "" Then Exit Sub
Range("A1") = Cells(2, col).Value
Range("A1").Columns.AutoFit
End If
End Sub
Hieno homma! Sen verran muutin, että vaihdoin ton eventin Worksheet_SelectionChange, koska A1:n arvo pitää vaihtua heti kun käyttäjä siirtyy seuraavaan sarakkeeseen, ei vasta arvon syötön jälkeen syystä että se A1:ssä näytettävä teksti on ohje käyttäjälle arvon syöttämiseen. Ja ton autofitin poistin tässä tarpeettomana.
Mutta siis iso kiitos!
Miten tuota kooda pitäisi muuttaa tai mihin se pitäis viedä, jos haluaisin tuon alkuperäisen kysymyksen toiminnallisuuden kaikille (identtisille) taulukoille samassa työkirjassa. Ei kai sitä koodia erikseen tarvi jokaiselle taulukolle kopsia?
ThisWorkbook-moduuliin.
Varmin tapa on siirtää makro jokaisen taulun makromoduuliin.
Jos ei tartte solusta lukea niin kayttokelpoisin tapa on kelpoisuusehdon sanomaruutu ja ruksi kun solu on valittuna kohtaan