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
1472
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
Saako kaunis ihminen parempaa kohtelua?
Onko kauniin ihmisen elämä "helpompaa" kuin tavallisen näköisen ihmisen? Olen kuullut väittämän, että kaunis ihminen saa1363667- 122396
En rehellisesti usko et oisit
Sekuntiakaan oikeasti mua kaivannut. Tai edes miettinyt miten mulla menee. Jotenkin todennäköisesti hyödyt tästäkin jos371955Näin sinusta taas unta!
Unessa olin pakahtuneesti rakastunut sinuun. Olimme vanhassa talossa jossa oli yläkerran huoneissa pyöreät ikkunat. Pöly211721Paljonko aikaa on kulunut siitä kun viimeksi tapasit hänet?
Päiviä? Viikkoja? Kuukausia? Vuosia?301493- 1241448
En muuttaisi sinusta mitään
Ensin olit etäinen ja yritin pysyä tutkan alapuolella. Mutta ei silmiltäsi jää mitään huomaamatta, kuten minulla ei kuul101311- 141246
Se oli siinä sitten
Yhdysvaltain presidentti Donald Trump on määrännyt kaiken maan Ukrainalle toimittaman sotilaallisen tuen tauolle, kertoo4781221- 761135