ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Worksheet Functions (https://www.excelbanter.com/excel-worksheet-functions/)
-   -   VBA Code not working on Shared Workbook (https://www.excelbanter.com/excel-worksheet-functions/226867-vba-code-not-working-shared-workbook.html)

KC_Cheer_Coach

VBA Code not working on Shared Workbook
 
I have the following code in a workbook. It works fine when the worksheets
inside the workbook are protected but not when the workbook is shared. Is
there any way to make this work on the shared workbook?

Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Dim iRange As Range
Dim Cross1 As Range
Dim Cross2 As Range

Set Cross1 = Intersect(Target, Range(Cells(2, 6), Cells(30, 6)))
Set Cross2 = Intersect(Target, Range(Cells(2, 6), Cells(30, 6)))

If Not Cross1 Is Nothing Or Not Cross2 Is Nothing Then
For Each Target In Sh.Range(Cells(2, 6), Cells(30, 6))
If ((Cross1.Value = "D") And (Cross2.Value2 < "C")) Then
Sh.Tab.ColorIndex = 3
ElseIf Cross2.Value2 = "C" Then
Sh.Tab.ColorIndex = 5
Else
Sh.Tab.ColorIndex = xlColorIndexNone

End If
Next
End If


Dave Peterson

VBA Code not working on Shared Workbook
 
There are lots of features that are disabled in shared workbooks.

When I share a workbook and then try to change the sheet tab color, I see that
it's disabled.

Maybe you can use a different indicator--something (prefix/suffix) in the sheet
name???

KC_Cheer_Coach wrote:

I have the following code in a workbook. It works fine when the worksheets
inside the workbook are protected but not when the workbook is shared. Is
there any way to make this work on the shared workbook?

Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Dim iRange As Range
Dim Cross1 As Range
Dim Cross2 As Range

Set Cross1 = Intersect(Target, Range(Cells(2, 6), Cells(30, 6)))
Set Cross2 = Intersect(Target, Range(Cells(2, 6), Cells(30, 6)))

If Not Cross1 Is Nothing Or Not Cross2 Is Nothing Then
For Each Target In Sh.Range(Cells(2, 6), Cells(30, 6))
If ((Cross1.Value = "D") And (Cross2.Value2 < "C")) Then
Sh.Tab.ColorIndex = 3
ElseIf Cross2.Value2 = "C" Then
Sh.Tab.ColorIndex = 5
Else
Sh.Tab.ColorIndex = xlColorIndexNone

End If
Next
End If


--

Dave Peterson

KC_Cheer_Coach

VBA Code not working on Shared Workbook
 
Well, I guess if it can't be done I will settle for that. But...

Is there a way to somehow say:

If ((Cross1.Value = "D") And (Cross2.Value2 < "C")) Then

REMOVE SHARE

CHANGE THE COLOR OF THE TAB

SHARE WORKBOOK

ElseIf Cross2.Value2 = "C" Then

REMOVE SHARE

CHANGE THE COLOR OF THE TAB

SHARE WORKBOOK

Else DO NOTHING

Can this be done??


"Dave Peterson" wrote:

There are lots of features that are disabled in shared workbooks.

When I share a workbook and then try to change the sheet tab color, I see that
it's disabled.

Maybe you can use a different indicator--something (prefix/suffix) in the sheet
name???

KC_Cheer_Coach wrote:

I have the following code in a workbook. It works fine when the worksheets
inside the workbook are protected but not when the workbook is shared. Is
there any way to make this work on the shared workbook?

Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Dim iRange As Range
Dim Cross1 As Range
Dim Cross2 As Range

Set Cross1 = Intersect(Target, Range(Cells(2, 6), Cells(30, 6)))
Set Cross2 = Intersect(Target, Range(Cells(2, 6), Cells(30, 6)))

If Not Cross1 Is Nothing Or Not Cross2 Is Nothing Then
For Each Target In Sh.Range(Cells(2, 6), Cells(30, 6))
If ((Cross1.Value = "D") And (Cross2.Value2 < "C")) Then
Sh.Tab.ColorIndex = 3
ElseIf Cross2.Value2 = "C" Then
Sh.Tab.ColorIndex = 5
Else
Sh.Tab.ColorIndex = xlColorIndexNone

End If
Next
End If


--

Dave Peterson


Dave Peterson

VBA Code not working on Shared Workbook
 
Try recording a macro when you do it manually and you'll have the code.

KC_Cheer_Coach wrote:

Well, I guess if it can't be done I will settle for that. But...

Is there a way to somehow say:

If ((Cross1.Value = "D") And (Cross2.Value2 < "C")) Then

REMOVE SHARE

CHANGE THE COLOR OF THE TAB

SHARE WORKBOOK

ElseIf Cross2.Value2 = "C" Then

REMOVE SHARE

CHANGE THE COLOR OF THE TAB

SHARE WORKBOOK

Else DO NOTHING

Can this be done??

"Dave Peterson" wrote:

There are lots of features that are disabled in shared workbooks.

When I share a workbook and then try to change the sheet tab color, I see that
it's disabled.

Maybe you can use a different indicator--something (prefix/suffix) in the sheet
name???

KC_Cheer_Coach wrote:

I have the following code in a workbook. It works fine when the worksheets
inside the workbook are protected but not when the workbook is shared. Is
there any way to make this work on the shared workbook?

Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Dim iRange As Range
Dim Cross1 As Range
Dim Cross2 As Range

Set Cross1 = Intersect(Target, Range(Cells(2, 6), Cells(30, 6)))
Set Cross2 = Intersect(Target, Range(Cells(2, 6), Cells(30, 6)))

If Not Cross1 Is Nothing Or Not Cross2 Is Nothing Then
For Each Target In Sh.Range(Cells(2, 6), Cells(30, 6))
If ((Cross1.Value = "D") And (Cross2.Value2 < "C")) Then
Sh.Tab.ColorIndex = 3
ElseIf Cross2.Value2 = "C" Then
Sh.Tab.ColorIndex = 5
Else
Sh.Tab.ColorIndex = xlColorIndexNone

End If
Next
End If


--

Dave Peterson


--

Dave Peterson


All times are GMT +1. The time now is 02:46 PM.

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