Solved

For each cells error

Posted on 2013-05-12
13
269 Views
Last Modified: 2013-05-12
Hi,

I got a error in the following code in the line "if cell.value = "READINGS BY" then". Any idea?

Sub READINGS()


Dim WS As Worksheet
Dim cell As Range



For Each WS In ThisWorkbook.Sheets

For Each cell In Sheets(WS.Index).Range("A1:J150").Cells
If cell.Value = "READINGS BY" Then
MsgBox ""
Exit Sub



MsgBox WS.Index
Exit Sub
End If


Next cell

Next WS

End Sub

Open in new window

0
Comment
Question by:joyacv2
  • 5
  • 5
  • 3
13 Comments
 
LVL 46

Expert Comment

by:Martin Liss
ID: 39159951
Works fine for me.
0
 
LVL 81

Expert Comment

by:zorvek (Kevin Jones)
ID: 39159953
What is the error?

By the way, this:

Sheets(WS.Index).Range("A1:J150")

can be:

WS.Range("A1:J150")

Kevin
0
 
LVL 46

Expert Comment

by:Martin Liss
ID: 39159954
What error do you get?
0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
LVL 1

Author Comment

by:joyacv2
ID: 39159957
error 2015
0
 
LVL 1

Author Comment

by:joyacv2
ID: 39159959
if a change .value by .text, all ok, but i don't know why?
0
 
LVL 46

Expert Comment

by:Martin Liss
ID: 39159962
Are any of your sheets protected or hidden?
What is WS.Name when the error occurs?
Is there anything unusual about that sheet?
0
 
LVL 81

Expert Comment

by:zorvek (Kevin Jones)
ID: 39159963
You probably have some errors in the target worksheets. Use the Text property to avoid any problems. It works in your case since you are comparing to a text string.

Kevin
0
 
LVL 46

Expert Comment

by:Martin Liss
ID: 39159967
You said it was line 11 causing the problem, not line 12 so I'm confused.
0
 
LVL 81

Expert Comment

by:zorvek (Kevin Jones)
ID: 39159969
He didn't say anything about line 11. He said this line invoked an error:

"if cell.value = "READINGS BY" then"

Kevin
0
 
LVL 46

Expert Comment

by:Martin Liss
ID: 39159973
You're right, sorry.
0
 
LVL 1

Author Comment

by:joyacv2
ID: 39159989
but, why using .text solves the problem?
0
 
LVL 81

Accepted Solution

by:
zorvek (Kevin Jones) earned 500 total points
ID: 39159990
Because the Text property ignores errors and returns the value in the cell as displayed. When you use the Value property the cell value is interpreted as it is stored internally. If the cell contains an error it will generate an error in many cases.

Kevin
0
 
LVL 81

Expert Comment

by:zorvek (Kevin Jones)
ID: 39159991
If you insist on using the Value property then you will have to test for errors in your code:

If Not IsError(Cell.Value) Then

Kevin
0

Featured Post

Is Your AD Toolbox Looking More Like a Toybox?

Managing Active Directory can get complicated.  Often, the native tools for managing AD are just not up to the task.  The largest Active Directory installations in the world have relied on one tool to manage their day-to-day administration tasks: Hyena. Start your trial today.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Convert between Excel file formats (.XLS, .XLSX, .XLSM) with/without macro option David Miller (dlmille) Intro Over this past Fall, I've had the opportunity to see several similar requests and have developed a couple related solutions associate…
Freeze panes is an option within all variants of Excel to enable parts of a sheet to remain stationary when the cursor is in another part of the sheet. This is a very useful feature which is overlooked or under used.
This Micro Tutorial will demonstrate how to use a scrolling table in Microsoft Excel using the INDEX function.
This Micro Tutorial will demonstrate how to create pivot charts out of a data set. I also added a drop-down menu which allows to choose from different categories in the data set and the chart will automatically update.

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question