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

1502

    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. Moikka rakas

      Oon miettinyt meidän välistä yhteyttä viime aikoina. En ihan osaa pukea sanoiksi, mitä kaikkea tunnen, mutta halusin vaa
      Ikävä
      65
      17383
    2. Mitä tapahtunut

      Poliiseja monta autoa+panssariauto Porista kpäähän päin tänään klo n.20 kuka hurjistunut ?
      Kankaanpää
      43
      5221
    3. HS: Kuka vielä uskaltaa mennä sairaalan ensiapuun?

      https://www.hs.fi/mielipide/art-2000011212025.html Tässä on hyvin ajankohtainen mielipidekirjoitus koskien Malmin sairaa
      Maailman menoa
      303
      2856
    4. Gallup: kaivattusi syntymävuosi

      Minä vuonna kaipaamasi henkilö on syntynyt?
      Ikävä
      159
      2239
    5. Lakea konkurssiin. Asukkaat menettävät asuntonsa

      Kuntarahoitus on tänään jättänyt konkurssihakemuksen lakean kaikista kiinteistö osakeyhtiöistä. Kassa on tyhjä, kaikki
      Seinäjoki
      36
      2155
    6. Missäpäin,,,

      Lapuaa tapettu ihminen viime yönä ? Hurjaa touhua nykymeno täällä...
      Lapua
      24
      1774
    7. Ökyrikas Kurkilahti mussuttaa veroistaan

      Pakeni aikoinaan veroja Portugaliin mutta joutui palaamaan takaisin kun Suomi teki verotussopimuksen Portugalin kanssa.
      Maailman menoa
      140
      1688
    8. Yhdysvalloissa työllisyys paranee, Suomessa työttömyys kasvaa, missä vika?

      Miten tämä on mahdollista että 177 000 uutta työllistä tuli USAssa yhdessä kuukaudessa, vaikka Trump on ruorissa? Orpon
      Maailman menoa
      409
      1616
    9. mahdollista, että olet ollut iltavuorossa

      Ja kotiin päästyäsi tulit palstalle etsimään merkkiä minusta, jos kaipaat yhtään minua niin kuin minä sinua Ei mennyt k
      Ikävä
      11
      1527
    10. Nikkalassa vauhdilla nokka kohti taivasta

      Mitähän Darwin sanoisi näistä 4 suomalaisesta, jotka kävivät Haparandan puolella näyttämässä, kuinka Suomi auto kulkee t
      Tornio ja Haaparanta
      4
      1467
    Aihe