Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

For each cells error

Posted on 2013-05-12
13
Medium Priority
?
280 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 49

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 49

Expert Comment

by:Martin Liss
ID: 39159954
What error do you get?
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
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 49

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 49

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 49

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 2000 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

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

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

You need to know the location of the Office templates folder, so that when you create new templates, they are saved to that location, and thus are available for selection when creating new documents.  The steps to find the Templates folder path are …
This article describes a serious pitfall that can happen when deleting shapes using VBA.
This Micro Tutorial will demonstrate in Google Sheets how to use the HYPERLINK function to create live links inside your spreadsheet.
This Micro Tutorial demonstrates in Microsoft Excel how to consolidate your marketing data by creating an interactive charts using form controls. This creates cool drop-downs for viewers of your chart to choose from.

971 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