Check If Cell Contains A Particular String
Apr 21, 2009My question is about checking to see if a cell contains a particular word.
I know that the following checks to see if a cell's value IS a particular word:
My question is about checking to see if a cell contains a particular word.
I know that the following checks to see if a cell's value IS a particular word:
I'd like to check if a user supplied string is single cell reference. My problem is that the below code comes back as vallid if I enter a range like B2:B4.
Sub test2()
Dim UserAdd As String
UserAdd = InputBox("Enter your address")
'check if valid:
If ValidAddress(UserAdd) Then
MsgBox ("it's valid!")
Else
MsgBox ("it ain't valid!")
End If
End Sub
I've posted this query before, not on this forum, but I don't think the replies I've had so far are going to do what I want. Initially I was looking for a formula, but the suggested pile of nested IFs won't work for the number of conditions. I saw a previous post on here for a VBA macro to search for a text value in a cell against the cell contents of a range and it seemed to do at least the first part of what I wanted. I attempted to manipulate it a little to test its applicability for my own nefarious purposes but for the life of me I can't get it working.
This is complicated by the fact that the actual data is commercially confidential, so I can't show you the actual file, but I can fake what I want with two simpler ones. I've attached them to this post. What I want is a fair bit more complex than the other post I found - I want to be able to compare a partial text string from a given cell in a range ('Check Value' in the attached TestBook2 ) against the strings in a range of cells ('Value 1' in TestBook1), and return the corresponding value from 'Test Value' to the corresponding adjacent cell to the tested 'Check Value', with an order of precedence, for example...
Testbook2 contains an entry in C5 of 'a, e, h, z, x, y'. Testbook1 shows that the return for a, b, c, or d is 'moo', for e, f, or g is 'steve' and for g through q is 'fred', all others being no returned value. Moo>steve>fred, so I want the corresponding 'moo, steve. fred or <blank>' cell to contain 'moo'. Conversely, C6 contains 't, u, z' and therefore shouldn't have a value in 'moo, steve, fred or <blank>'. C12 contains 'f, z, s, y, u' and C15 'i, x, z, s', and therefore should display 'steve' and 'fred' respectively.
I have a sheet in which some of the cells have two strings separated by a linefeed. I have come up with a cumbersome formula which will let me check if either of the two strings is a member of a list stored on another sheet. However, it fails if there is only one string in the cell, presumably as there is no linefeed for the formula to find. How can I modify the formula to cope with this situation?
There are also on occasions, three strings in the cell, but I can't seem to access the middle string with the formula. Simplified spreadsheet attached to show the problem. This must be formula-based, as we have a no VBA policy. If you think there is better way of doing this, please let me know.
I'd like to write a formula that check if a string (contained in another cell - say A1) includes at least one occurrence of one of a set of 5 sub strings. If the substring is included then it should return which one.
For istance, say that the cell A1 = " The colour is BLACK" then I'd like a formula in cell B1 that check if any of the following strings is included in A1 (RED, GREEN, BLUE, BLACK, ORANGE) and that tells me which one.
How to do this with a one cell formula ?
how I check the last 4 letters of a String to make sure they say '.xls', '.csv', etc, etc, for varification purposes.
View 4 Replies View RelatedIs there way in Excel VBA to check if a string contains a number, and then return TRUE or FALSE. Numbers can been anywhere in the string. See example below.
View 6 Replies View RelatedI'm working on a project where I need to prevent the user from entering non-digit string inputs. I've tried the using IsNumeric(MyString). but that doesn't prevent , + - signs to be entered. I also had to conditionally enable the input of a string with leading zeros like "01" so what I've ended up with is a rather messy looking' sub that handles this (don't know if forum rules allows me to show it here?). The problem is that I'm not a 100% sure that my sub fit to handle all eventualities so therefore my question is whether there is an easier, fool proof way to check my strings?
View 6 Replies View RelatedI want to check if cells C1, D1 and E1 contain the same name. For example if the cells all contain the 'Joe Bloggs' (or whatever the name variable happens to be) then cell F1 should say "Yes", else "No".
View 1 Replies View RelatedI have a test to see if a text string is in an array that mostly works, but sometimes fails and I don't understand why.
The routine calls a Function IsInArray which returns a True/False value depending on whether the search term is in the array.
Code:
Sub TestFilterArray()
MyArray = Array("a", "b", "c")
If IsInArray("a", MyArray) = False Then
[Code]....
In this case the first item in my array is "a - b" (note that this is a text string ), but for some reason because my test value is "a" the routine things it must be in the array.
Thus I am thinking that the ampersand and dash symbols are somehow confusing my routine.
How can I change my routine so that it correctly identifies which text strings are in my array?
I have some code where I need to check if the first five char are numbers and not letters.
I have in a column for example
12345-someone is here
23456-someone else is here
someone is here too
I need to get all of the ones that have 5 digits and not pull in the other into a new list.
I have tried Left(CPHierAll. Cells(CPHierAllRow, 1),5) which will get me the fist 5 char. and then i need to check to make sure that they are all numbers and not char.
if Left(CPHierAll.Cells(CPHierAllRow, 1),5) = "#####" then
But this does not bring anything in.
I also tried if CPHierAll.Cells(CPHierAllRow, 1),5) = "#####" then
I have 3 column that i am checking for different thinks the first two work just find and seperate out on the check but the last one with the numbers is being a pain.
I am using the following to check if a string has a sequence of 6 decimal digits in it. But am getting an error. If(str Like *######*). I have to check if str has values like 123456USA ; ABC725439 ; jh658478hd. I thought # represents a single digit and * represents any no of characters
View 2 Replies View RelatedI have data in Row 53 that spans 7 columns, but stays in the same row. I want to design a loop to select every 7th cell in that row and check if it is empty. If not, add onto a "counter" then display the final number of occupied cells (the value of the counter) at the end. This is what I have so far, but I get all sorts of errors.
Code:
Sub Tester()
Dim WB As Workbook
Dim WS As Worksheets
Dim modCounter As Long
Dim Cell As Range
Set WB = Workbook("Transverse Series.xlsm")
Set WS = WB.Sheets(BM18)
[Code] ......
In sheet1 I have a simple database consisting of 5 columns of data
Column A : Name ie James Jones
Column B : payroll number ie 123456
Column C : shift times ie 1245-2124
Column D : job title ie floor
Column E : comments ie A/L or 0600-1500
what I would like is some code that will go down Column E and if a 'time string' ie 1300-2130 is found then copy this string and paste into corresponding value in column C. If a text string is found ie A/L or Sick or anything like this then ignore and move onto next cell, loop this until all cells in column E have been checked.
I'm using a userform to create a new sheet. The form already creates the sheet and names it what was typed into the userform. Now I want it to place that variable in a cell along with a string. the following code will place the variable from the form (tbname) into cell b5.
View 2 Replies View RelatedI have problem with function, I have array with random numbers in cell G1 and columns with X in some of the cells, now I want to check the cells with numbers from cell G1 in column F to see is there X or not if yes count if not do nothing. In attached example result should be 3.
View 7 Replies View Relatedhow to explain this except by showing it, so I explained it as best I could in the attachment. Anyone think they have a solution for this? Let me know if you need more information. Thanks!
the macro will look at the value I entered in cell A1, then find all instances of it in Column A
in every row that A1 matches, if the value in column E is "0", I need the macro to change the value in column E of that row from "0" to (that row's column B * $B$1)
My company uses 4 types of barcodes 8, 12, 13, & 14 number barcodes for our products my problem is that I can't figure out how to force the barcode to format properly no matter how somebody enters it if they don't use spaces or put them in the wrong spots, I can't use custom formats because there is 4 different layouts
8 digit should be "#### ####"
12 digit should be "###### ######"
13 digit should be "# ###### ######"
14 digit should be "# ## ##### ######"
these barcodes are in columns L, M, & N also right now 'm using a formula in another cell to verify the barcodes by calculating the check digit and comparing it to the check digit typed the formula i'm using is
I want to check the contents of all the cells in S Column to see if it equals "Process Recover/Rebill"
If True, then Change corresponding cell in C Column to "Manual Correction"
I have this VBA and it doesn't look like anything is processing. It appears that I must have something missing in the If line..message about missing.
(tot_new is the number of rows of data) I begin in the 3rd row.
For Counter = 3 To tot_new
If Range("S" & Counter & ").Value = "Process Recovery/Rebill" Then
Range("T" & Counter & ").Value = "Manual Correction"
End If
Next Counter
I'm trying to look at a value in one column (Column A) and if it matches a set of criteria, I'm trying to change the value of another cell 6 columns to the right.(Column G) I've been trying for a couple of days now to get this working, but to no avail. I've tried to modify the code below that I've found on this site but can't quite figure out what I'm doing wrong.
Sub RatingsFix1SP()
Dim FindWhat, rngCell As Range, i As Integer
FindWhat = Array("BB", "B", "CCC", "CC", "C", "CCC+")
For i = 0 To 3
For Each rngCell In Range("A2", Range("A" & Rows.Count).End(xlUp))
If InStr(rngCell, FindWhat(i)) <> 0 Then
rngCell.Offset(0, 6) = 0.15
End If
Next rngCell
Next i
End Sub
To try to clarify a bit: If column A in the attached spreadsheet has a rating code of BB, B, CCC, CC, C, or CCC+, I want the Haircut % rate in column G to be 15%. It seems the code that I'm using changes the % rate to 15% if any "B" or "C" shows up in any part of the string in column A.
I have two cells where data is input in the form
1234A the suffix letters can be a,b,c,d,e,t,s,v
I need to check if the suffix letter from both cells match up...
a can only match a
b can only match b
c can only match c
d can only match d
e can only match e
a-e can match t
s can only match s
v can only match v
is this possible without any macros?
I am using a menu button to run a macro. Before running a particular Macro, I would like excel to check if the cell A1 of a worksheet named 'MC_1921' contains the phrase 'Master Curve' ...if it does then the macro runs otherwise gives an error message.
View 4 Replies View RelatedI'm trying to write a vba code that will do this actions: the code will check if a text in cell b2 and cell c2 identical , if it's true, insert a new column d, and the value of d2 is the sum of cells b2+c2. if false - do nothing. I need to run the check, from row 2 to the last row with values in this sheet.
View 3 Replies View RelatedI am using the forms toolbar. I am just trying to place a simple check box in a cell (assigned to a cell). After I place the check box in the cell, if I resize the cell, the check box doesn't follow or stay assigned to the cell. I go into format control options and try to select "move and size wtih cells" but that option is greyed out.
View 9 Replies View RelatedI have large report, and I need to be able to check if a cell (on each row) contains within it either "AF","LF","FF","FS","HF","WF".
The problem is these letters may be in the middle of the cell, not always the same length from either beginning or end.
I am using this code
View 5 Replies View RelatedI have a string of text in cell A2. In cell B2 of my spreadsheet is a formula that calculates a number based on the text string in cell A2.
I want to write a VBA loop that removes a single character from the cell A2 string, then calculate the new value in cell B2. I want this loop to continue until the value in B2 falls below a set value (in this case 60).
My code so far
Sub trim_text()
Dim mytext As String
Dim myanswer As Integer
mytext = Range("A2")
myanswer = Range("B2")
Do While myanswer > 60
mytext = (Right(mytext, Len(mytext) - 1))
Loop
End Sub
This obviously does not work. In my excel table I have a formula in cell B2 to calculate "myanswer" will this work, or does that code have to be placed into the VBA code?
I need a formula to verify whether a cell contains Alphabet or not.
View 5 Replies View RelatedI need to check if a cell ends with {"a","b","c","d","e","S","t","v"}. and if it doesn't diplay a warning
this is what i have
--------C
10----4444s
=IF(RIGHT(C10,1)={"a","b","c","d","e","s","t","v"},"GOOD", "Must enter Suffix Letter")
I want to check if the value of a cell is the multiple of another
for example cell A1 is 6
and cell B1 is 2
This is valid because 2*3=6 but if cell A1 was 5 then it should display that its not valid!