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

1587

    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. S-kauppa nosti hintoja, K-kauppa laski

      Elintarvikkeiden arvonlisävero laski vuodenvaihteessa 13,5 prosenttiin. S-kauppa siirsi alennuksen suoraan katteisiin pi
      Maailman menoa
      182
      7652
    2. Hiihtäjä Vilma Nissisen kommentit aiheutti paniikkia

      ja hernettä vedettiin nenään. Nissinen kertoi torstaina haastattelussa, kun häneltä kysyttiin, että tykkääkö hän hiihtä
      Maailman menoa
      132
      5244
    3. Huuto yltyy persujen piirissä Venezuelan johdosta.

      Kohta kakofonia yltyy kun persut tajuavat mitä Venezuelassa tapahtui. Von den Leydenki jo kipuilee kuten persut EU:ssa y
      Maailman menoa
      53
      2767
    4. Koska mennään retkeilemään?

      pusi pusi 😗
      Ikävä
      276
      2376
    5. Nyt ottaa persua pattiin: sähköauto joulukuun myydyin

      🤣 prööt prööt pakoputkellaan pörisevää persua ottaa nyt saamaristi pattiin, kun paristoilla kulkeva sähköauto on noussu
      Maailman menoa
      128
      2298
    6. Yhdysvaltain hyökkäys Venezuelaan on YK:n peruskirjan mukaan laiton hyökkäyssota

      Oman sävynsä tähän tuo vielä se, että hyökkäys kohdistettiin nimenomaan valtiojohtoa vastaan. Toki, kun tavoitteena on v
      Maailman menoa
      571
      2124
    7. Ovatko Perussuomalaiset kommunisteja?

      Toiset sanovat että ovat, toiset sanovat että eivät. Ainakin heillä on paljon sen aatteen piirteitä, koska haluavat kont
      Maailman menoa
      72
      2099
    8. Persuilla paniikki, kun diktaattorit yksi kerrallaan kaatuvat

      Hallapersut halusivat sivarineidostaan sotilasjuntan komentajan Suomeen, jotta persuaatteen mukaiset puhdistukset olisi
      Maailman menoa
      0
      1740
    9. Ei tule uni

      Kuten epäilin. Onneksi viime yön sain ihan hyvin nukutuksi. Tiesin kyllä, ettei tästä mitään tänään tule.
      Ikävä
      57
      1146
    10. Laittaisin whatsuppissa viestin

      Jos olisin täysin varma että se on toivottua vielä kun aikaa on mennyt ja että toivot sitä edelleen.
      Ikävä
      69
      1130
    Aihe