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
1405
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
Mikä on kaivattusi etunimi?
Otsikossa siis on kysymys eriteltynä. Vain oikeat vastaukset hyväksytään.1272356En kestä katsoa
Sitä miten sinusta on muut kiinnostuneita. Olen kateellinen. Siksi pitäisi lähteä pois1081403Peräti 95 % persujen kannattajista rasisteja
Kertoo EVA:n teettämä kysely. Pakollista yhdenvertaisuuskoulutusta tarvitsee siis paljon laajempi joukko kuin pelkästää3341140- 1111104
Kun viimeksi kohtasitte/näitte
Mitä olitte tekemässä? Millainen ympäristö oli? Löydetään toisemme...1041077Olet kyllä vaarallisen himokas
Luova, kaunis, määrätietoinen, pervo, mielenkiintoinen, kovanaama, naisellinen ja erikoinen.99975On minulla suunitelma
Siitä ei vain tiedä kukaan muu kuin tällä hetkellä minä. Suunnitelma ja varasuunnitelma. Sinun takiasi nainen. Vain s44710Palstan ylivoimaisesti suosituin keskustelunaihe
Palstan suosituin keskustelunaihe näyttää olevan homoseksuaalisuus. Otsikoiden perusteella voisi kuvitella olevansa Seks252699Ei koskaan saatu tuntea
Mitä olisi ollut painautua toisiimme vasten. Hengittää syvään, hyväillä ja rakastella vailla kiirettä. Tai repiä vaattee33690- 50674