Hiirin kohdistimen mukaisen rivin korostaminen

Markus R

Kuinka saan korostettua aina sen hetkisen klikatun solun mukaisen rivin kokonaan jollain tietyllä haluamallani tyylillä? Esim. kevyt osittain läpinäkyvä harmaa ei olisi pahitteeksi.

10

1405

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • YhisWorkbook moduuliin...
      Option Explicit
      Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
      Static Vanha As Range
      On Error Resume Next
      If Not Vanha Is Nothing Then
      Vanha.EntireRow.Interior.ColorIndex = xlColorIndexNone
      End If
      Target.EntireRow.Interior.ColorIndex = 15
      Set Vanha = Target
      End Sub

      • tee testi tyyli ja koodi ThisWorkbook moduuliin...

        Option Explicit
        Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
        Static Vanha As Range
        On Error Resume Next
        If Not Vanha Is Nothing Then
        Vanha.EntireRow.Interior.ColorIndex = xlColorIndexNone
        End If
        Target.EntireRow.Style = "testi"
        Set Vanha = Target
        End Sub


      • Markus R

        Kiitokset jälleen kunde!

        Tuo koodin pätkä aiheuttaa sen, ettei tavallinen copy-paste enää toimi excelissä. Kokeilin copy-pastea myös makrona, mutta ei onnistunut vaan valitti jotain

        Range("A6:HJ6").Select
        Selection.Copy
        Cells(R, 2).Select
        Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False


      • Markus R kirjoitti:

        Kiitokset jälleen kunde!

        Tuo koodin pätkä aiheuttaa sen, ettei tavallinen copy-paste enää toimi excelissä. Kokeilin copy-pastea myös makrona, mutta ei onnistunut vaan valitti jotain

        Range("A6:HJ6").Select
        Selection.Copy
        Cells(R, 2).Select
        Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False

        mielenkiintoinen ilmiö...
        ei äkkiseltään kyllä keksi mikä ton aiheuttaa, mutta tsekataan


      • kunde kirjoitti:

        mielenkiintoinen ilmiö...
        ei äkkiseltään kyllä keksi mikä ton aiheuttaa, mutta tsekataan

        näköjään tyhjentää leikepöydän sisällön...


      • kunde kirjoitti:

        näköjään tyhjentää leikepöydän sisällön...

        kopioi/liittää aktiiviseen soluun kopioidun/leikatun alueen.

        ThisWorkbook moduuliin...

        Option Explicit
        Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
        Static Vanha As String
        On Error Resume Next
        Application.EnableEvents = False
        Application.ScreenUpdating = False
        If Application.CutCopyMode = 1 Then
        Range(Vanha).Copy Target
        End If
        If Application.CutCopyMode = 2 Then
        Range(Vanha).Copy Range(Target.Address)
        Range(Vanha) = ""
        End If
        Cells.EntireRow.Interior.ColorIndex = xlColorIndexNone
        Target.EntireRow.Interior.ColorIndex = 15
        Vanha = Target.Address
        Application.EnableEvents = True
        Application.ScreenUpdating = True
        End Sub


      • Markus R
        kunde kirjoitti:

        näköjään tyhjentää leikepöydän sisällön...

        Varsinainen leikepöytä ei tyhjenny, koska paste onnistuu toiseen tauluun tai tiedostoon.

        En ole koskaan ymmärtänyt excelin logiikkaa siinä, että jos copy ja pasten välissä syöttää tietoa jonnekkin ei enää paste onnistu. (solun copy-paste). Ratkaisua en vielä netistä löytänyt.


      • Markus R
        kunde kirjoitti:

        kopioi/liittää aktiiviseen soluun kopioidun/leikatun alueen.

        ThisWorkbook moduuliin...

        Option Explicit
        Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
        Static Vanha As String
        On Error Resume Next
        Application.EnableEvents = False
        Application.ScreenUpdating = False
        If Application.CutCopyMode = 1 Then
        Range(Vanha).Copy Target
        End If
        If Application.CutCopyMode = 2 Then
        Range(Vanha).Copy Range(Target.Address)
        Range(Vanha) = ""
        End If
        Cells.EntireRow.Interior.ColorIndex = xlColorIndexNone
        Target.EntireRow.Interior.ColorIndex = 15
        Vanha = Target.Address
        Application.EnableEvents = True
        Application.ScreenUpdating = True
        End Sub

        Do diih! Tuo ainakin hoitaa copy-pasten jollain tavalla. Miinuksena on, että paste tapahtuu ilman ctrl v:tä, mutta kyllä tuolla pääsee jo eteenpäin.

        Kiitos!


      • VariMägi
        Markus R kirjoitti:

        Varsinainen leikepöytä ei tyhjenny, koska paste onnistuu toiseen tauluun tai tiedostoon.

        En ole koskaan ymmärtänyt excelin logiikkaa siinä, että jos copy ja pasten välissä syöttää tietoa jonnekkin ei enää paste onnistu. (solun copy-paste). Ratkaisua en vielä netistä löytänyt.

        http://discuss.fogcreek.com/askjoel/default.asp?cmd=show&ixPost=3479&ixReplies=12

        Kolmannesta vastuksesta vasta juttu lähtee aukeamaan (linkissä). Ohjelmallisesti copy-paste taakse liitty paljon muitakin asioita mitkä katoavat kun tekee jossain solussa jotain muuta kuin copy-paste jutulla yleensä on tarkoitus. Perussyy tähän käyttäymiseen on mikin perussofta mihin läytyy varmasti 10^6 perustelua. Varmasti hyviä mutta joskus ärsyttäviä.


      • Markus R kirjoitti:

        Do diih! Tuo ainakin hoitaa copy-pasten jollain tavalla. Miinuksena on, että paste tapahtuu ilman ctrl v:tä, mutta kyllä tuolla pääsee jo eteenpäin.

        Kiitos!

        nyt lähes normaali toiminnat...
        leikkaa heti kun valitaan solu...
        paste special ei toimi tietenkään...

        katotaan saako paremmaksi vielä

        viittaus Microsoft Forms 2.0 Object Libraryyn

        ThiWorkbook moduuliin...

        Option Explicit
        Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
        Static Vanha As Range
        Static kopiointi As Integer
        On Error Resume Next
        kopiointi = Application.CutCopyMode
        If Not Vanha Is Nothing Then
        Vanha.EntireRow.Interior.ColorIndex = xlColorIndexNone
        End If
        Target.EntireRow.Interior.ColorIndex = 15
        If kopiointi = 1 Then
        Leikepöytä (AlueLeikepöytä(Vanha))
        End If
        If kopiointi = 2 Then
        Leikepöytä (AlueLeikepöytä(Vanha))
        Vanha = ""
        End If
        Set Vanha = Target
        End Sub

        tavalliseen moduuliin...
        Option Explicit
        Option Compare Text
        Private DataObj As MSForms.DataObject
        Public Function Leikepöytä(S As String)
        On Error GoTo virhe:
        If DataObj Is Nothing Then
        Set DataObj = New MSForms.DataObject
        End If
        DataObj.SetText S
        DataObj.PutInClipboard
        Exit Function
        virhe:
        Exit Function
        End Function
        Public Function AlueLeikepöytä(Alue As Range) As String

        Dim Rivi As Long
        Dim Sarake As Long
        Dim Teksti As String
        For Rivi = 1 To Alue.Rows.Count
        For Sarake = 1 To Alue.Columns.Count
        Teksti = Teksti & Alue(Rivi, Sarake).Value & _
        IIf(Sarake < Alue.Columns.Count, vbTab, vbNullString)
        Next Sarake
        Teksti = Teksti & IIf(Rivi < Alue.Rows.Count, vbNewLine, vbNullString)
        Next Rivi
        AlueLeikepöytä = Teksti
        End Function


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

    Luetuimmat keskustelut

    1. Mikä on kaivattusi etunimi?

      Otsikossa siis on kysymys eriteltynä. Vain oikeat vastaukset hyväksytään.
      Ikävä
      127
      2356
    2. En kestä katsoa

      Sitä miten sinusta on muut kiinnostuneita. Olen kateellinen. Siksi pitäisi lähteä pois
      Ikävä
      108
      1403
    3. Peräti 95 % persujen kannattajista rasisteja

      Kertoo EVA:n teettämä kysely. Pakollista yhdenvertaisuuskoulutusta tarvitsee siis paljon laajempi joukko kuin pelkästää
      Maailman menoa
      334
      1140
    4. Anna minulle anteeksi

      Anna minulle anteeksi. Minä pyydän.
      Ikävä
      111
      1104
    5. Kun viimeksi kohtasitte/näitte

      Mitä olitte tekemässä? Millainen ympäristö oli? Löydetään toisemme...
      Ikävä
      104
      1077
    6. Olet kyllä vaarallisen himokas

      Luova, kaunis, määrätietoinen, pervo, mielenkiintoinen, kovanaama, naisellinen ja erikoinen.
      Ikävä
      99
      975
    7. On minulla suunitelma

      Siitä ei vain tiedä kukaan muu kuin tällä hetkellä minä. Suunnitelma ja varasuunnitelma. Sinun takiasi nainen. Vain s
      Ikävä
      44
      710
    8. Palstan ylivoimaisesti suosituin keskustelunaihe

      Palstan suosituin keskustelunaihe näyttää olevan homoseksuaalisuus. Otsikoiden perusteella voisi kuvitella olevansa Seks
      Luterilaisuus
      252
      699
    9. Ei koskaan saatu tuntea

      Mitä olisi ollut painautua toisiimme vasten. Hengittää syvään, hyväillä ja rakastella vailla kiirettä. Tai repiä vaattee
      Ikävä
      33
      690
    10. 50
      674
    Aihe