Naming Range By Finding Text And Then Using Offset?

Mar 23, 2012

I have a large file where I want to name about 30 ranges. Initially I had done this using the range addresses and it worked well, but I continue to modify the spreadsheet and add and delete rows, so I need to go back into the code and change the ranges manually. I know there has to be a better way.

What I wanted to try doing was finding some specific text. That text (in all the ranges) is actually one column to the left and 33 rows below where I want to start the named range. Additionally the named range will be a 10 x 33 range. For example, if the data starts in B1, the data to be named will be in B1:K33 and the search title will actually be in A34. Hopefully that's clear...

My original code looked like this:

Code:
ActiveWorkbook.Names.Add Name:="[MyRangeName]", RefersTo:=ActiveSheet.Range("B2:K33")

I was attempting to us the Find function with this code, but I can't seem to figure out how to tell it to look for the text (that would be in A34) and then name the range that would be offset by (-33,1) and then name the entire range.

View 3 Replies


ADVERTISEMENT

Offset Range Naming

Jun 15, 2006

= OFFSET(CustomerInfo!$A$9,0,0, COUNTA(CustomerInfo!A:A),1)

for a "dynamic" range name...i like the concept, but my data validation in a cell that references this "dynamic" range name (with the offset function) doesn't recognize all the values in the range

(when i just range name it, the data validation sees all the names, but not all when i use the offset...)

View 5 Replies View Related

Finding Text In Another Range?

Jun 5, 2012

I have the code below which does work and looks up a piece of text in A1 (in this case the word exhaust) within the contents of column B. If the text is found (either part or whole) it returns a Y and if not an N in column C.

It works fine but I can't work out how to get it to repeat should I then want to look at a value in A2, A3 etc without removing any Y had Y already been displayed due to a prior word in the list. Below are the results I'd want.

Column AColumn BColumn CExhaustWheel inc TyreNClockClutchNPipeExhaust - SingleYExhaust - DoubleYWindowNFront ClockYDoorNSeatNBonnetNRear PipeY

Sub FindSomeText()
'Application.ScreenUpdating = False
Range("C1", Range("C65536").End(xlUp)).Clear
keyword = Range("a1").Value
Range("b1").Select
Do Until IsEmpty(ActiveCell)
If InStr(1, ActiveCell.Value, keyword) = 0 Then

[code]....

View 3 Replies View Related

Finding Text In A Range Of Cells?

Nov 19, 2013

I am looking to set up an excel doc with 2 sheets.

In sheet 1, I am would like to be able to enter a series of words of interest/criteria to be met (in column D).

In sheet 2, I would like to paste in the text from an individual's CV. The text would be entered en masse, meaning that some cells would be empty and others would have whole sentences/paragraphs of text.

I would like a formula to enter in column A of sheet 1 which would search all of the cells in sheet 2 for the word/words in column D of sheet 1 and return either a positive or negative value.

I had tried the following:

=(COUNTIF(Sheet2!1:1048576,Sheet1!D2)>0)

This formula, however, is not capable of extracting the desired text from a string/sentence, and so only returns a positive result if the desired text is in a cell by itself.

View 3 Replies View Related

Macro To Find A Cell Containing Text /select Range Offset / Cut And Paste To Lower Rows?

Feb 4, 2014

I am trying to find a macro that can search a sheet for any cell that contains the text "Not on AOI" selects a range that contains that cell, 81 rows below, and 2000 columns to the right, then cuts the selection and pastes it 162 rows below the original cell where the text was found. What's hard is that the number of columns between the "Not on AOI" cells is variable.

I'm very new to excel macros and the parts I think I've put together are:

Cells.Find("Not on AOI", After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=True).Activate

[Code].....

View 1 Replies View Related

Finding Lowest Value And Displaying Offset

Jul 20, 2012

I have a spreadsheet where I want to do some fancy stuff:

1) find the lowest value in a range of cells (S9:S17)
2) output its corresponding value in A9:A17 into another cell, say C87
3) increment its corresponding value in C9:C17 by 1
4) repeat 9 times, but inputting it to C88, then C89, and so on.

Everything in the spreadsheet depends on the values in C9:C17, including the range S9:S17, so when the values in column C change, so do the ones in column S.

But I don't want to actually change anything, just simulate it. But because the values in S9:S17 are formulas from yet another column in the spreadsheet, the best thing to do would be to remember the column C values beforehand, do the 4 steps above, and write them back afterwards, otherwise the macro starts to get complicated and brings in more values etc.

View 2 Replies View Related

Find Last Cell In Range, And Changing Another Cell Based On Offset Text

May 4, 2009

If i have a range say E12:O12 and want to find the last cell before blank, lets say it finds m12 as the cell with the value before blank. then with m12 it needs to determine weather row 11 in the same column has Text either "S" or "F" if "S" then m12 = t if "F" then m12 offset(1,-1) = t. And just to make things more difficult i need the range E12:O12 to step 2 as well until it gets to E208:O208 .Noting that row 11 never changes and will always have either an "S" Or an "F"

and also t = time()

View 7 Replies View Related

Naming A Range In VBA

Jun 6, 2007

I want to use the range in this code that works fine in one work book from sheet to sheet...

But i need it to run across 2 workbooks that are both open at the same time... The data its bringing back will be in a seperate workbook.

Sub zzzz()
Sheets("Sheet2").Select
Range("A3:M16").ClearContents

c = 3 'Paste Range Return Test
x = Worksheets("sheet1").Cells(Rows.Count, 1).End(xlUp).Row 'data source
For a = 1 To x
If Worksheets("sheet1").Cells(a, 3) = Worksheets("sheet2").Range("a1") Then
For b = 1 To 20
Cells(c, b) = Worksheets("sheet1").Cells(a, b)
Next b
c = c + 1
End If
Next a
'Range("C3:C15,F3:F15,I3:I15").Select
'Selection.Delete Shift:=xlToLeft
Range("A1").Select
End Sub

View 9 Replies View Related

Naming A Range With Vba

Jan 31, 2007

A userform listbox places names in a column in Sheet2, starting with cell E1 and subsequent transfers from the listbox (which is multiselect) going to F1, G1 etc. There will be between 6 and 15 names in each case.

A seperate textbox is used to assign a number to each multiselection, this number is added to "Div" and placed in row 22 of the column to which the multiselection is transfered.

The text in this cell is used for other things later but I also want to use it to Name the range to which it refers. This name is then immediately used to populate another listbox in the userform, and will be used repeatedly later on in the project.

Here is the relavant snip of code that I have been trying to get to work but I get 'object required' for the ActiveWorkbook.Names.Add.......... line. I did manage to get rid of that once (can't recall how!!) but then the ListBox2,RowSource gave an error.

Set DvNm = Sheet2.Range("IV1").End(xlToLeft).Offset(21, 0)
Set Rngc = Sheet2.Range("IV1").End(xlToLeft)
Set Rngp = Sheet2.Range("D65536").End(xlUp).Offset(1, 0)

DvNm.Value = "Div" & TextBox1.Value

Range(Rngc, Rngc.Offset(15, 0)).Copy
Rngp.PasteSpecial (xlPasteValues)
Application.CutCopyMode = False

ActiveWorkbook.Names.Add Name:=DvMn.Value, RefersToR1C1:="Range(Rngc, Rngc.Offset(15, 0))"

View 5 Replies View Related

Check Each Cell In Range For Value & Put Text In Offset Cell

Jun 7, 2008

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.

View 5 Replies View Related

Naming Pasted Range

Mar 26, 2008

After pasting a Range and while the Range is still selected, I would like to Name it. May I have some assistance with the proper statement?

View 9 Replies View Related

Naming A Dynamic Range By VBA

May 16, 2006

I am making a simple database worksheet for the junior. The first thing we need to re-define the new "size" of the database to do some future calculations. I write some code in workbook open to initiate the name area:

Worksheets("Inventory").Activate
maxrow = 0
maxrow = Range("a7"). CurrentRegion.Rows.Count
'Range("A7").Select
Range(Cells(8, "N"), Cells(maxrow, "N")).Name = "tbl_left"

when the junior re-open the workbook after closed, the size of the database
does not growth to a new area even junior add rows of data before close. It seems the currentregion does not work, I've tested it in VBE by press " F8".......

View 5 Replies View Related

Naming A Selected Range

Mar 15, 2007

I am trying to name a selected range in VBA in order to use it in a vlookup table. Code I have so far is as follows:

ActiveSheet.Name = TextN
Range("c9"). CurrentRegion.Select
Call formatting
ActiveWorkbook.Names.Add Name = "formTextN", RefersToR1C1 = Worksheets(TextN) & "!" & "r9c2:r45c13"

The formatting works, but the selection does not get named.

View 3 Replies View Related

Dynamic Range Table Naming

Oct 12, 2013

I am having a hard time creating my ultimate gradebook. Right now, I am able to hide a SPECIFIC table on a SPECIFIC worksheet using the following code on a macro button:

VB : Sub HideRow()Range("Table2[#All]").EntireRow.Hidden = True End Sub


The problem is that this sheet will be a template and as a new user inserts a new sheet, I would like to copy and paste this template to each new sheet. Since the Table values change with each new sheet, code wont work on the new tables. How I can name each new sheets table "Class Data", and the macro button to hide will work on each respective sheet?

View 2 Replies View Related

Naming A Range Begining With A Number?

Jan 22, 2009

Is there a way to name a range beginning with a number? It doesn't accept it. Is there a way around this? range name examples: 2DBSUS 3DBSUS

View 2 Replies View Related

Naming A Range Of Variable Length

Feb 5, 2007

I have a range of data starting in C18, C17 is a label (DivsUsed) the number of rows can range from 1 to a few hundred.

I used the code below to name C18 onwards as a named range with the name DivsUsed and then to use this as a RowSource for a ListBox.

Private Sub UserForm_Initialize()

Dim rangeToName As Range
'Sheet2.Range("C18", Range("C65536").End(xlUp)).Name = "DivsUsed" Tried this too
Set rangeToName = Sheet2.Range("C17", Range("C65536").End(xlUp))
rangeToName.CreateNames Top:=True
ListBox2.RowSource = "DivsUsed"
TextBox2.Value = Sheet2.Range("F2").Value 'This works ok
End Sub

Both tries, and anything else I have tried, give the error " Method 'Range' of object _Worksheet failed".

View 7 Replies View Related

Conditional Average, Naming A Range

Feb 5, 2007

i'm very new to excel formulas & statistics in general. i only need to calculate averages but am having trouble naming the range in my formulas

in the example below, i want to use the first column to determine the range of data for the mean calculation.... so, I am seeking the average of just the numbers which correspond w/ A only. Similarly, I will then want an average for numbers corresponding to B, and then to C, etc etc...

View 9 Replies View Related

Naming Range With Integer Or String Variable?

Mar 13, 2012

I am trying to name a Range in VBA with the following Case statement.

Select Case counter
Case "2": Set Wk(numWeeks) = Range("P1:Q136")
ActiveWorkbook.Names.Add Name:="Wk" & numWeeks, RefersTo:=Wk(numWeeks)

I have many more cases and have defined Wk(5) as a Range. What I am really after it is possible to to name the range using something similar to the code above that uses a predefined variable in the naming process.

View 4 Replies View Related

Named Range In Naming Another Range

Aug 6, 2006

How to you reference a named range in naming another range? What is the syntax?

I have a dynamic range, and I want a second dynamic range to start in relation to the last cell of the first range.

View 5 Replies View Related

Naming Dynamic Range Of Cells Based On Heading

Apr 15, 2014

I need to name a dynamic range of cells. The only constant is the column - H, and the heading "MRC".

MRC column in a table represents an array formula. Unknown is the row where it is going to show up and the number of rows that this array formula will take. I need to name this range (active cells based on the array formula) but do not know what row does it start with and how many rows will it take.

It is not the last table in column H either but there are 2 empty rows before the next table.

Trying something like that...

=========================
Set aCell = Range("H:H").Find(What:="MRC", LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not aCell Is Nothing Then

aCell.Offset(1, 0).Select
========================================

That's how I select the first cell in the range. Not sure how to select the whole range and name it ..
ActiveCell.End(1xDown) ?

View 3 Replies View Related

Naming Ranges But If Any Cells, Row Or Columns Are Inserted The Range Will Automatically Adjust To Suit1?

Jul 25, 2006

Range("B25").Name = "EndMull"

Its fine but if i insert a new row or column then it mucks the whole thing up. Is there away of naming them but if any cells, row or columns are inserted the range will automatically adjust to suit1

View 2 Replies View Related

Search Cell For Text String And Paste Text In Based On Finding?

Jun 29, 2014

I need to create a macro to do the following:

Search the activecell for a text string (a), and then either paste in text string (b) at the end of the cell if (a) is found, or text string (c) if (a) is not found.

For example, if the activecell has "AA/" in it, I want the cell to become "AA/01" (pasting in "01" at the end), and if the cell has just "AA" in it, I want it to still become "AA/01" (pasting "/01" at the end). The macro will be linked to a commandbutton.

View 7 Replies View Related

Set Range And Offset

May 16, 2009

I am having trouble with one line of this code that I can't figure out how to write correctly. I have set the range, but I need to offset by 10 rows up. My code fails at set rng.

View 6 Replies View Related

Offset Range Value VBA

Sep 29, 2009

I have an offset range ("TheCell") that does not seem be working how I would expect.

I don't know if its because the sheet I am working on was originaly German but I would be surprised if that was the case.

I Use sheet change to set the peramiters of the range and to test the value

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rowcell
Dim colcell
Dim typeit
colcell = ActiveCell.Column
rowcell = ActiveCell.Row
ActiveWorkbook.Names.Add Name:="iname", RefersToR1C1:="=" & "Tabelle2!R1C" & colcell
ActiveWorkbook.Names.Add Name:="Jname", RefersToR1C1:="=" & "Tabelle2!R" & rowcell & "C2"
typeit = Range("TheCell").Value
MsgBox typeit
End Sub
=OFFSET(Tabelle1!$B$4,MATCH(Jname,Tabelle1!$B$5:$B$57,0),MATCH(iname,Tabelle1!$B$4:$EX$4,0)-1)

but for some reason I am getting a runtime error 1004 worksheet failed.

I have used this technique before and its been fine so what mistake have I made :o)

View 9 Replies View Related

Range Offset

Aug 24, 2006

I want to apply some logic to a range. However I want to offset the bottom of the range by 1 row.

Example: I have a range (B8:I19) already defined in my vba code. But I want to shade range (B8:I20).

MyRange = Range("B8:B19")
MyRange.Offset(1, 0).Interior.ColorIndex=3

This code also offsets the top of the range (row 9), which I don't want.

How can I only offest the bottom of the range?

View 5 Replies View Related

Naming Excel File With Name Of Input Text File?

May 20, 2013

I have a macro that takes a text file as input and produces an excel file as output. I want a macro to store the name of the text file in a variable (without its file extension).

View 1 Replies View Related

Using ADDRESS And OFFSET To Return A Text Value From Along Row?

Aug 5, 2014

I have a formula that basically work, except is really complicated and slows the whole sheet down and then, for some reason, returns a circular referencing error or something. There must be a better way!

So the back story is that I have a spreadsheet that I'm using to track ~1200 employees, including salary, job title and, where I'm having trouble, reporting line.

Column [R] is the Line Manager (direct manager) and Column [S] is Department Head. Columns [T] - [Y] is "Manager", "Manager +1" (manager's manager), "Manager +2" (manager's manager's Manager), etc up to Manager +5.

'Line Manager' is input manually. 'Manager' = 'Line Manager'. Manager+1 to +5 just vlooks up off the same sheet. This part works fine and will update the whole reporting line if you change the manager.

Department head is where I'm having a problem! Essentially what I'm looking for is for the formula to look at the 5 cells to the right (the manager +# columns) and look for 'Mr Boss' and return one cell to the left since department heads report the the boss. There is one exception, its that some immediate reports of Lucy Lawful also are counted as Department Heads. For this purpose I vlooked up this list of exceptions on another sheet. My formula is this (entered as an array):

=IF(ISTEXT(T5),IF(OR(OFFSET(INDIRECT(ADDRESS(MAX((T5:Y5="Mr Boss")*ROW(T5:Y5)),MAX((T5:Y5="Mr Boss")*COLUMN(T5:Y5)),4)),0,-2,1)=Vlookups!H:H),OFFSET(INDIRECT(ADDRESS(MAX((T5:Y5="Mr Boss")*ROW(T5:Y5)),MAX((T5:Y5="Mr Boss")*COLUMN(T5:Y5)),4)),0,-2,1),OFFSET(INDIRECT(ADDRESS(MAX((T5:Y5="Mr Boss")*ROW(T5:Y5)),MAX((T5:Y5="Mr Boss")*COLUMN(T5:Y5)),4)),0,-1,1)),"")

Below is an example file. In my real file the formula works for everyone, not sure why its not working for half the employee now, but probably cos it's a useless formula.

Line Mgr Example help.xlsx

View 2 Replies View Related

Offset Formula Will Not Return Text?

Dec 14, 2013

The following formula works very well for me but it will only return a number and not text.

=SUMIF(B4,K4,OFFSET(B4,0,Q4,))

View 3 Replies View Related

Framework Combobox And Text-offset? **

Aug 16, 2007

Is it possible to change the offset(?) of the items/text in a combobox? I mean like, all items are placed at a certain distance of the comboboxframe(work) on the left/right (or centered) I hope I explained it clearly enough? I'd like the items/text to be really close to the left (frame side) of a combobox

View 2 Replies View Related

Offset Cell To Populate The Text Box

Mar 11, 2008

How can I make this statement take the value from the Offset cell to populate the text box and not take the value from the text box to popluate the Offset Cell?

With txtBoarded
ActiveCell.Offset(0, 1) = .Value
End With
This code is in the user form initialize code.

View 9 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved