If sh.Name <> Sheet1 Then

R

ryguy7272

I am trying to get the below macro to perform a certain operation on a series
of worksheets in my workbook, but I don't want anything done to Sheet1. For
some reason, the code only performs the operation on Sheet1. This is the
opposite of what I want. Can someone please help out?

Sub Math()
Dim LastRow As Long
Dim c As Variant
Dim sh As Worksheet

For Each sh In Worksheets

If (sh.Name) <> "Sheet1" Then
Rows("1:1").Select
Selection.Font.Bold = True

LastRow = Cells(Rows.Count, "F").End(xlUp).Row
For Each c In Range("F2:F" & LastRow)
If c.Value <> "" Then
c.Offset(, 19).Value = "=RC[-17]*RC[-2]"
End If
Next c

End If
Next sh

End Sub


Regards,
Ryan---
 
G

Gary''s Student

Sub Math()
Dim LastRow As Long
Dim c As Variant
Dim sh As Worksheet

For Each sh In Worksheets

If (sh.Name) <> "Sheet1" Then
sh.Activate
Rows("1:1").Select
Selection.Font.Bold = True

LastRow = Cells(Rows.Count, "F").End(xlUp).Row
For Each c In Range("F2:F" & LastRow)
If c.Value <> "" Then
c.Offset(, 19).Value = "=RC[-17]*RC[-2]"
End If
Next c

End If
Next sh

End Sub

I make the same error myself....over & over.
 
J

JLGWhiz

You just need to tell it where it is. See modified code below.

Sub Math()
Dim LastRow As Long
Dim c As Variant
Dim sh As Worksheet

For Each sh In Worksheets

If (sh.Name) <> "Sheet1" Then
Rows("1:1").Select
Selection.Font.Bold = True

LastRow = sh.Cells(Rows.Count, "F").End(xlUp).Row
For Each c In sh.Range("F2:F" & LastRow)
If c.Value <> "" Then
c.Offset(, 19).Value = "=RC[-17]*RC[-2]"
End If
Next c

End If
Next sh

End Sub
 
R

ryguy7272

Thanks GS and JLG. Now it makes sense.
Logic, logic, logic...

--
RyGuy


JLGWhiz said:
You just need to tell it where it is. See modified code below.

Sub Math()
Dim LastRow As Long
Dim c As Variant
Dim sh As Worksheet

For Each sh In Worksheets

If (sh.Name) <> "Sheet1" Then
Rows("1:1").Select
Selection.Font.Bold = True

LastRow = sh.Cells(Rows.Count, "F").End(xlUp).Row
For Each c In sh.Range("F2:F" & LastRow)
If c.Value <> "" Then
c.Offset(, 19).Value = "=RC[-17]*RC[-2]"
End If
Next c

End If
Next sh

End Sub





ryguy7272 said:
I am trying to get the below macro to perform a certain operation on a series
of worksheets in my workbook, but I don't want anything done to Sheet1. For
some reason, the code only performs the operation on Sheet1. This is the
opposite of what I want. Can someone please help out?

Sub Math()
Dim LastRow As Long
Dim c As Variant
Dim sh As Worksheet

For Each sh In Worksheets

If (sh.Name) <> "Sheet1" Then
Rows("1:1").Select
Selection.Font.Bold = True

LastRow = Cells(Rows.Count, "F").End(xlUp).Row
For Each c In Range("F2:F" & LastRow)
If c.Value <> "" Then
c.Offset(, 19).Value = "=RC[-17]*RC[-2]"
End If
Next c

End If
Next sh

End Sub


Regards,
Ryan---
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top