ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Referencing two types of sheets - I get Error HELP!! (https://www.excelbanter.com/excel-programming/422691-referencing-two-types-sheets-i-get-error-help.html)

Yossy

Referencing two types of sheets - I get Error HELP!!
 
I am referencing two types of named sheet(s) in a work book. One named with
_Bal and the others named _Trial but I get error. What am I doing wrong. All
help totally appreciated. THanks

Sub T_Bal()
Dim ws As Worksheet
Application.ScreenUpdating = False
For Each ws In Worksheets
If InStr(1, ws.Name, "_Bal") Then
With ws
.Range("g35").Value = .Range("g40").Value
With .Range("g23")
formStr = .Formula
.Formula = formStr & "+" & ws.Range("g36").Value
End With
With .Range("g30")
formStr = .Formula
.Formula = formStr & "+" & ws.Range("g57").Value
End With
.Range("g57").Value = 0
End With
ElseIf InStr(1, ws.Name, "_Trial") Then
With ws
.Range ("g23")
formStr = .Formula
.Formula = formStr & "+" & ws.Range("g36").Value
End With
End If
Next
Application.ScreenUpdating = True
End Sub

Rick Rothstein

Referencing two types of sheets - I get Error HELP!!
 
Can you locate the line the error occurs on and what the error is for us?

--
Rick (MVP - Excel)


"Yossy" wrote in message
...
I am referencing two types of named sheet(s) in a work book. One named with
_Bal and the others named _Trial but I get error. What am I doing wrong.
All
help totally appreciated. THanks

Sub T_Bal()
Dim ws As Worksheet
Application.ScreenUpdating = False
For Each ws In Worksheets
If InStr(1, ws.Name, "_Bal") Then
With ws
.Range("g35").Value = .Range("g40").Value
With .Range("g23")
formStr = .Formula
.Formula = formStr & "+" & ws.Range("g36").Value
End With
With .Range("g30")
formStr = .Formula
.Formula = formStr & "+" & ws.Range("g57").Value
End With
.Range("g57").Value = 0
End With
ElseIf InStr(1, ws.Name, "_Trial") Then
With ws
.Range ("g23")
formStr = .Formula
.Formula = formStr & "+" & ws.Range("g36").Value
End With
End If
Next
Application.ScreenUpdating = True
End Sub



Dave Peterson

Referencing two types of sheets - I get Error HELP!!
 
Notice that you have "with ws" and "with .range("G23")" in the top portion of
the code.

You don't have that in the second portion:

With ws
.Range ("g23")
formStr = .Formula
.Formula = formStr & "+" & ws.Range("g36").Value
End With

So maybe:

With ws
with .Range("g23")
formStr = .Formula
.Formula = formStr & "+" & ws.Range("g36").Value
end with
End With

Yossy wrote:

I am referencing two types of named sheet(s) in a work book. One named with
_Bal and the others named _Trial but I get error. What am I doing wrong. All
help totally appreciated. THanks

Sub T_Bal()
Dim ws As Worksheet
Application.ScreenUpdating = False
For Each ws In Worksheets
If InStr(1, ws.Name, "_Bal") Then
With ws
.Range("g35").Value = .Range("g40").Value
With .Range("g23")
formStr = .Formula
.Formula = formStr & "+" & ws.Range("g36").Value
End With
With .Range("g30")
formStr = .Formula
.Formula = formStr & "+" & ws.Range("g57").Value
End With
.Range("g57").Value = 0
End With
ElseIf InStr(1, ws.Name, "_Trial") Then
With ws
.Range ("g23")
formStr = .Formula
.Formula = formStr & "+" & ws.Range("g36").Value
End With
End If
Next
Application.ScreenUpdating = True
End Sub


--

Dave Peterson

Yossy

Referencing two types of sheets - I get Error HELP!!
 
it highlights the . Range within this code and gave error as invalid use of
property.

ElseIf InStr(1, ws.Name, "_Trial") Then
With ws
.Range ("g23") ' it highlights the .Range here


"Rick Rothstein" wrote:

Can you locate the line the error occurs on and what the error is for us?

--
Rick (MVP - Excel)


"Yossy" wrote in message
...
I am referencing two types of named sheet(s) in a work book. One named with
_Bal and the others named _Trial but I get error. What am I doing wrong.
All
help totally appreciated. THanks

Sub T_Bal()
Dim ws As Worksheet
Application.ScreenUpdating = False
For Each ws In Worksheets
If InStr(1, ws.Name, "_Bal") Then
With ws
.Range("g35").Value = .Range("g40").Value
With .Range("g23")
formStr = .Formula
.Formula = formStr & "+" & ws.Range("g36").Value
End With
With .Range("g30")
formStr = .Formula
.Formula = formStr & "+" & ws.Range("g57").Value
End With
.Range("g57").Value = 0
End With
ElseIf InStr(1, ws.Name, "_Trial") Then
With ws
.Range ("g23")
formStr = .Formula
.Formula = formStr & "+" & ws.Range("g36").Value
End With
End If
Next
Application.ScreenUpdating = True
End Sub




Rick Rothstein

Referencing two types of sheets - I get Error HELP!!
 
I think Dave has given you what the problem is. Right after the 'With ws'
you have .Range("g23") on the line all by itself... you aren't doing
anything with it. You probably meant the code to look like this (mirroring
how you handled the code structure in the "Then" section)...

With ws
With .Range("g23")
.....

instead of how you posted it.

--
Rick (MVP - Excel)


"Yossy" wrote in message
...
it highlights the . Range within this code and gave error as invalid use
of
property.

ElseIf InStr(1, ws.Name, "_Trial") Then
With ws
.Range ("g23") ' it highlights the .Range here


"Rick Rothstein" wrote:

Can you locate the line the error occurs on and what the error is for us?

--
Rick (MVP - Excel)


"Yossy" wrote in message
...
I am referencing two types of named sheet(s) in a work book. One named
with
_Bal and the others named _Trial but I get error. What am I doing
wrong.
All
help totally appreciated. THanks

Sub T_Bal()
Dim ws As Worksheet
Application.ScreenUpdating = False
For Each ws In Worksheets
If InStr(1, ws.Name, "_Bal") Then
With ws
.Range("g35").Value = .Range("g40").Value
With .Range("g23")
formStr = .Formula
.Formula = formStr & "+" & ws.Range("g36").Value
End With
With .Range("g30")
formStr = .Formula
.Formula = formStr & "+" & ws.Range("g57").Value
End With
.Range("g57").Value = 0
End With
ElseIf InStr(1, ws.Name, "_Trial") Then
With ws
.Range ("g23")
formStr = .Formula
.Formula = formStr & "+" & ws.Range("g36").Value
End With
End If
Next
Application.ScreenUpdating = True
End Sub





Yossy

Referencing two types of sheets - I get Error HELP!!
 
Thanks to all, added the with and end with and it works. Thankssssss

"Dave Peterson" wrote:

Notice that you have "with ws" and "with .range("G23")" in the top portion of
the code.

You don't have that in the second portion:

With ws
.Range ("g23")
formStr = .Formula
.Formula = formStr & "+" & ws.Range("g36").Value
End With

So maybe:

With ws
with .Range("g23")
formStr = .Formula
.Formula = formStr & "+" & ws.Range("g36").Value
end with
End With

Yossy wrote:

I am referencing two types of named sheet(s) in a work book. One named with
_Bal and the others named _Trial but I get error. What am I doing wrong. All
help totally appreciated. THanks

Sub T_Bal()
Dim ws As Worksheet
Application.ScreenUpdating = False
For Each ws In Worksheets
If InStr(1, ws.Name, "_Bal") Then
With ws
.Range("g35").Value = .Range("g40").Value
With .Range("g23")
formStr = .Formula
.Formula = formStr & "+" & ws.Range("g36").Value
End With
With .Range("g30")
formStr = .Formula
.Formula = formStr & "+" & ws.Range("g57").Value
End With
.Range("g57").Value = 0
End With
ElseIf InStr(1, ws.Name, "_Trial") Then
With ws
.Range ("g23")
formStr = .Formula
.Formula = formStr & "+" & ws.Range("g36").Value
End With
End If
Next
Application.ScreenUpdating = True
End Sub


--

Dave Peterson



All times are GMT +1. The time now is 01:18 AM.

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