ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Worksheet_change question (https://www.excelbanter.com/excel-programming/427550-worksheet_change-question.html)

אלי

Worksheet_change question
 
Hi,

I am using the following code in order to color a cell in one worksheet if
the same value was typed in another worksheet.
it works fine when I am entering one value at the time and I am wondering if
it is possible to do the same if i will copy and paste several values at the
time. also it will be grate if i will be able to color not only the matching
cell but the range between A:T in the relevant row.

Thanks to Ron De Bruin for the code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet
Set ws = Worksheets("Pouch log")
Dim FirstAddress As String
Dim MySearch As Variant
Dim myColor As Variant
Dim lnLastRow As Long
Dim Rng As Range
Dim I As Long
lnLastRow = Cells(Rows.Count, "B").End(xlUp).Row
If Target.Address = Range("B" & lnLastRow).Address Then
MySearch = Array(Range("B" & lnLastRow))
myColor = Array("3")
lnLastRow = ws.Cells(Rows.Count, "B").End(xlUp).Row
With ws.Range("A1:Z" & lnLastRow)
For I = LBound(MySearch) To UBound(MySearch)
Set Rng = .Find(What:=MySearch(I), After:=.Cells(.Cells.Count), _
LookIn:=xlFormula, LookAt:=xlWhole, _
SearchOrder:=xlByColumns,
SearchDirection:=xlNext, _
MatchCase:=False)

If Not Rng Is Nothing Then
FirstAddress = Rng.Address
Do
Rng.Interior.ColorIndex = myColor(I)
Set Rng = .FindNext(Rng)
Loop While Not Rng Is Nothing And Rng.Address <
FirstAddress
End If
Next I
End With
End If
End Sub

Thanks in advance for your help

Eli


Simon Lloyd[_1109_]

Worksheet_change question
 

You can change this line
Code:
--------------------
Rng.Interior.ColorIndex = myColor(I)
--------------------
for this one

Code:
--------------------
Range("A" & Rng.Row & ":T" & Rng.Row).Interior.ColorIndex = myColor(I)
--------------------



אלי;323390 Wrote:
Hi,

I am using the following code in order to color a cell in one worksheet
if
the same value was typed in another worksheet.
it works fine when I am entering one value at the time and I am
wondering if
it is possible to do the same if i will copy and paste several values
at the
time. also it will be grate if i will be able to color not only the
matching
cell but the range between A:T in the relevant row.

Thanks to Ron De Bruin for the code:

Code:
--------------------

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet
Set ws = Worksheets("Pouch log")
Dim FirstAddress As String
Dim MySearch As Variant
Dim myColor As Variant
Dim lnLastRow As Long
Dim Rng As Range
Dim I As Long
lnLastRow = Cells(Rows.Count, "B").End(xlUp).Row
If Target.Address = Range("B" & lnLastRow).Address Then
MySearch = Array(Range("B" & lnLastRow))
myColor = Array("3")
lnLastRow = ws.Cells(Rows.Count, "B").End(xlUp).Row
With ws.Range("A1:Z" & lnLastRow)
For I = LBound(MySearch) To UBound(MySearch)
Set Rng = .Find(What:=MySearch(I), After:=.Cells(.Cells.Count), _
LookIn:=xlFormula, LookAt:=xlWhole, _
SearchOrder:=xlByColumns,
SearchDirection:=xlNext, _
MatchCase:=False)

If Not Rng Is Nothing Then
FirstAddress = Rng.Address
Do
Rng.Interior.ColorIndex = myColor(I)
Set Rng = .FindNext(Rng)
Loop While Not Rng Is Nothing And Rng.Address <
FirstAddress
End If
Next I
End With
End If
End Sub

--------------------

Thanks in advance for your help

Eli



--
Simon Lloyd

Regards,
Simon Lloyd
'The Code Cage' (http://www.thecodecage.com)
------------------------------------------------------------------------
Simon Lloyd's Profile: http://www.thecodecage.com/forumz/member.php?userid=1
View this thread: http://www.thecodecage.com/forumz/sh...ad.php?t=90356



All times are GMT +1. The time now is 06:58 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com