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.
Hiirin kohdistimen mukaisen rivin korostaminen
10
1587
Vastaukset
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 Subtee 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 = Falsemielenkiintoinen ilmiö...
ei äkkiseltään kyllä keksi mikä ton aiheuttaa, mutta tsekataankunde kirjoitti:
mielenkiintoinen ilmiö...
ei äkkiseltään kyllä keksi mikä ton aiheuttaa, mutta tsekataannä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 SubDo 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
S-kauppa nosti hintoja, K-kauppa laski
Elintarvikkeiden arvonlisävero laski vuodenvaihteessa 13,5 prosenttiin. S-kauppa siirsi alennuksen suoraan katteisiin pi1827652Hiihtä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ä1325244Huuto yltyy persujen piirissä Venezuelan johdosta.
Kohta kakofonia yltyy kun persut tajuavat mitä Venezuelassa tapahtui. Von den Leydenki jo kipuilee kuten persut EU:ssa y532767- 2762376
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 noussu1282298Yhdysvaltain 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 v5712124Ovatko Perussuomalaiset kommunisteja?
Toiset sanovat että ovat, toiset sanovat että eivät. Ainakin heillä on paljon sen aatteen piirteitä, koska haluavat kont722099Persuilla paniikki, kun diktaattorit yksi kerrallaan kaatuvat
Hallapersut halusivat sivarineidostaan sotilasjuntan komentajan Suomeen, jotta persuaatteen mukaiset puhdistukset olisi01740Ei tule uni
Kuten epäilin. Onneksi viime yön sain ihan hyvin nukutuksi. Tiesin kyllä, ettei tästä mitään tänään tule.571146Laittaisin whatsuppissa viestin
Jos olisin täysin varma että se on toivottua vielä kun aikaa on mennyt ja että toivot sitä edelleen.691130