Selected Range Address To Variable
Feb 20, 2008
I have created a work diary in Excel which is built up in half hour blocks. I am able to create my appointments (usually one or two hour blocks) by selecting a group of cells and running a macro which merges the cells, colours them and puts a border round them.
I now want to be able to delete individual appointments by selecting the appropriate appointment and running a macro to copy and paste from the same range of cells in another worksheet (which is effectively my blank master diary page).
I have tried work out what code I need to put the range of the current selection into a variable in VBA but I'm not having any luck.
View 2 Replies
ADVERTISEMENT
May 1, 2006
I have a table in which I have a "patient" column and a "page" column. The macro searches for a patient's number, then looks if this patient has the page "900.--". A patient may have more than one page, which will result in many rows with the same patient number. So far, my macro uses the search function to find a patient number, then compares the cell next to the active cell to see if it contains the page "900.--". If not, then my macro searches for the next patient and so on until the page is found and noted into another workbook or none is found.
In order to stop the loop, I am trying to store the address of the first cell found into a variable "rFirstCell" so that it can later on be compared to another variable, "rSecondCell", which represent the active cell. When both are the same, it means all the available search results have been tested and the loop should stop.
Sub testing()
Dim rRng As Range, rFirstCell As Range, rSecondCell As Range
Set rRng = Worksheets("Overview").[a1]
Dim sDeath As String
sDeath = "death"
ActiveSheet.AutoFilterMode = False
If LCase(rRng(2, 15).Value) = "x" Then
If LCase(rRng(2, 9).Value) = sDeath Then
Workbooks("DM Endpoint pages_test.xls").Activate
Range("A1").Select...........................
View 4 Replies
View Related
Jul 14, 2006
I need to select a variable number of cells on a line. I know Range("A2:c2") will do exactly what I need EXCEPT i need to use variables to do it. Is this possible, and if so how.
View 5 Replies
View Related
Apr 1, 2009
Here is my code
Dim LastCell As Range
Set LastCell = Cells(EndRow, LastCol).Address
I get a "Object Required" when this I try to set the address. I know this is easy.
View 9 Replies
View Related
Jan 17, 2009
I have some code that uses offset to select a column of numbers
View 2 Replies
View Related
Dec 21, 2006
What I need is a macro that assigns manually selected cells/ranges (which may or may not be continious) to a Variables.
View 2 Replies
View Related
Aug 7, 2014
is it possible to find the number of row for selected value in cell with data validation?
for example:
sheet2
cell G13 have data validation format
Allow = List
Source = 'sheet1'!E:E
Ignore blank = yes
sheet1
columnn E contents file names with hyperlink
FileName1.txt
FileName2.txt
FileName3.pdf
.....
FileNameN.txt
I choose FileName3.pdf
View 2 Replies
View Related
Oct 18, 2011
When i select a cell with the mouse, so its active, then i want S27 to show the location of the selected cell.
View 1 Replies
View Related
May 13, 2013
Code:
Dim MyArray as Variant
Dim Address
MyArray = Range([a1], [b10])
For varRow = 1 To UBound(MyArray, 1)
' I want to know the current address of the cell right here,
' For instance I want to know I'm working with A1 right here
' Is that possible?
Next I guess my question is how do I find out the originating address of the cell I'm working with in an array. I need to check the font color of A1,B1,C1 etc while working in that range and I have no idea how to access it.
View 1 Replies
View Related
Jul 25, 2014
I am using this code to hide or unhide rows of text on another sheet:
VB:
Sub ProcessSheet1ChangeOnCellJ7(ByVal Target As Range)
Dim sAddress As String
Dim sValue As String
'Get the address of the cell that changed without '$' signs
sAddress = Target.Address(False, False)
[Code]....
When the "Not Pursuing" list box option is selected (in cell "J7" or "J8" in Sheet 1) I need to add (or over-write) "Not Pursuing" to the range of cells in column "B" (in the "Tasks" sheet), but only for that particular Goal, meaning a limited range of cells in column "B". If the "Pursuing - Show All Tasks" option is selected for a Goal then these same cells need to be blank so that the appropriate person can enter their name into the cell.
The purpose for adding "Not Pursuing" automatically to these yellow highlighted cells is that it will facilitate filtering of tasks by individual in the "Tasks" sheet..
Again I have tried several times to upload a sample file and am unable to, which I know makes it more difficult to solve. (Is there some common mistake people make? I know it's an allowed format and is very small in file size....)
Code solution can be entered directly beneath:
VB:
If Target.Value = "Not Pursuing" Then
ActiveWorkbook.Sheets("Tasks").Rows("29:29").EntireRow.Hidden = False
ActiveWorkbook.Sheets("Tasks").Rows("30:48").EntireRow.Hidden = True
View 1 Replies
View Related
Sep 12, 2006
I would like to record the address of the last set of cells that data was input into to a variable so that a user can choose to delete the last entry. An 'Undo' button really.
What I have is a user form that writes different materials to thier respective sheets in the database. (Material1, Material2, etc.) Some materials have a different number of variables (some have a width and some don't, but all have a quantity.)
This is the code I have for adding the material to the database (each material has it's own button with material specific code.)
Private Sub AddToMaterial1_Click()
Set c = Worksheets("Material1").Range("a65536").End(xlUp).Offset(1, 0)
Application.ScreenUpdating = False
c.Value = Me.Material1Quantity.Value
c.Offset(0, 1).Value = Me.Material1Description.Value
c.Offset(0, 2).Value = Me.Material1Length.Value
Dim lastenty1
lastentry1 = c.Address
Dim lastentry2
lastentry2 = c.Offset(0, 1).Address
Dim lastentry3
lastentry3 = c.Offset(0, 2).Address
Dim lastentry4
lastentry4 = c.Offset(0, 3).Address
Dim lastentry5
lastentry5 = vbNullString
Dim lastentry6
lastentry6 = vbNullString
Application.ScreenUpdating = True
End Sub
The following code is what I am trying to do for a single button to clear the last entry to the database.
Private Sub RemoveLastEntry_Click()
Range(lastentry1).ClearContents
Range(lastentry2).ClearContents
Range(lastentry3).ClearContents '(There is always at least 3 cells to clear)
If lastentry4 = nullstring Then Exit Sub
Range(lastentry4).ClearContents
If lastentry5 = nullstring Then Exit Sub
Range(lastentry5).ClearContents
If lastentry6 = nullstring Then Exit Sub
Range(lastentry6).ClearContents
End Sub
View 9 Replies
View Related
Apr 10, 2007
when i am doing the coding
may i know if there is a way to replace the cell address $A9 below: ...
View 3 Replies
View Related
Nov 14, 2007
I want to do a concatenate for multiple fields, but want the user to specify which cells should be concatenated by entering this in a few fields. What does this formula (or VBA) look like?
Let's assume there is the possibility to concatenate a maximum of 4 cells. Call the 3 cells that will be concatenated cell1, cell2, cell3 and cell4.
On the first sheet of the workbook the user enters the following:
cell1 = Sheet2!A4
cell2 = Sheet2!B4
cell3 = Sheet2!C4
cell4 = Sheet2!D4
Here are some cells and their values:
Sheet2!A4 = Hel
Sheet2!B4 = lo
Sheet2!C4 = World
Sheet2!D4 =
Upon enterring the information after the = sign for the cell1, cell2 and cell3, the formula for the concatenate becomes: =CONCATENATE(Sheet2!A4, Sheet2!B4,Sheet2!C4 ).
The result of the formula is: HelloWorld
If I now change the values of cell1, cell2, cell3, and cell4 the following should happen:
cell1 = Sheet2!B4
cell2 = Sheet2!C4
cell3 =
cell4 =
The formula for the concatenate becomes: =CONCATENATE(Sheet2!B4, Sheet2!C4).
The result of the formula is: loWorld
View 9 Replies
View Related
Aug 10, 2008
I have a named range that expands and contracts based upon the amount of data that is in some column. Call it AllData_UsedRange.
I have another named range that actually refers to a range. Call it AllData.
Column A
Row2 56
Row3 44
Row4 65
AllData is a named range that refers to the range A2:A65536
AllData_UsedRange refers to A2:A4 by way of this formula.
=OFFSET(AllData,0,0,COUNTA(AllData))
How to I obtain an address of AllData_UsedRange in VBA code?
These do not work...
ThisWorkbook.Names("AllData_UsedRange").RefersToRange.Address
Evaluate(ThisWorkbook.Names("AllData_UsedRange"))
View 9 Replies
View Related
Dec 3, 2013
I have a Choose function that is used to determine which range I need. e.g. =Choose(Choice,Cell,Cell,...).
In each corresponding "Choice" cell is a typed range. e.g. $B$33:$L$70
I'm looking for a way to be able to use this typed range as the range for some chart data.
View 2 Replies
View Related
Aug 25, 2006
I know that I can return the value of a defined name range, the address, and even the value of the define name, but if you are given a range address, how do you find its corresponding defined name in code?
View 4 Replies
View Related
Nov 10, 2006
Say you define a public range variable called Inputworksheet and you set it to refer to the worksheet called Inputworksheet. You have a separate string variable with the value Inputworksheet. How do you get this string variable value to call/control the range variable Inputworksheet?
I am getting an excel worksheet value from a lookup function that corresponds to the name of a VBA range variable. Once I have this worksheet value, I would like to use the range variable that has the same name as the worksheet value.
View 5 Replies
View Related
Apr 4, 2008
I am trying to autofill dynamic ranges that have column variables (d) and row variables (x)... I am having a hard time with the syntax on this
View 9 Replies
View Related
Mar 16, 2009
How can you access a cell's value via a vb variable that contains the cell's address. I have a vb variable named cellAddress (string) that contains "$A$1" and I want to assign the contents of what cellAddress points to another VB variable - how do i Do this?
e.g. if cellAddress = "$a$1" and A1 contains "xyz", I would like to assigne "xyz" to a new vaiable by referencing just cellAddress??? Also - Can anyone reccomend a good Excel VB book? A book that maybe stresses the VB language rather then a cook-book approach.
View 2 Replies
View Related
Apr 12, 2012
I am attempting to categorize IP Addresses. My lookup table looks like this:
Begin End Category
1.50.50.0 1.50.50.255 3
5.185.40.0 5.185.43.0 2
5.22.22.65 5.22.22.128 5
I have a list of IP addresses that need to be categorized.
IP Address Category
5.185.41.15 2
1.128.128.0 Null
1.50.50.128 3
The category column needs to be populated. The ranges in my look up table are not end to end (there are gaps).
Function Lookup got close, but assumed there were no gaps.
View 4 Replies
View Related
Jan 29, 2014
I have a list of random I.P. Addresses i.e. 192.168.1.0, 172.19.16.0 etc
i would like to copy them into another cell but change them to a range. i.e.
192.168.0.1-192.168.1.254
172.19.16.0-172.19.16.254
View 5 Replies
View Related
Jan 11, 2008
I am trying to get the addresses of different cells containing numbers. This addresses should be ranked by the size of the value from largest to smallest.
Currently I am using this formula
=CELL("address";OFFSET($A$2;MATCH(LARGE($A$2:$A$10;1);$A$2:$A$10;0)-1;0))
and just increasing the variable of the LARGE function for every rank.
This works fine up to the point some numbers are the same. If I have for example two cells containing a 80 and 80 is the largest value, rank 1 and 2 result in the same address (of the first cell containing the 80). But I want the formula to result in specific addresses for every number.
I thought about using MAX instead of LARGE, but I don't get a working solution for the second (third, fourth, ...) largest value.
View 9 Replies
View Related
Mar 11, 2008
I am using a variable named " Totals" as a range type to refference the range in a formula. It works the way I have it.
Dim Totals As Range
Set Totals = [U37: AE37]
Now instead of the absolute refference, I would like to change the row refference by an offset of my current row, using a formula with a varriable. The columns stay the same.
View 3 Replies
View Related
Mar 1, 2009
I have a named range, called 'event' relating to cells a2-a200, I have a named cell, 'eventcounter'. I was hoping that I would be able to use the named cell eventcounter in formulae on the cells in the event range rather than having to use the cell address. So instead of having a formula that was something like this, =if(a3= etc etc.
I could refer to the range event and eventcounter. Eventcouter gets its value simply by counting the number of non blank cells in the event range, so consequently - I can only figure out how to address the last entry in the event range in the manner that i wish.
View 2 Replies
View Related
Apr 29, 2013
I have to macros I'm working with the first take a user set range and prints the . Address to a cell.
The second Macro I'm trying to get to look at that cell and pull out the range. So is there an opposite fuction to .
Address that will convert excel format to a VBA Range format. Ex A cell with $A$1:$A$2 to Range("A1",A2")
Macro 1
Code:
For j = 1 To x
c = 1
For i = 1 To ws.Range("AD" & rc).Value
ws.Range("AE" & rc).Value = Application.InputBox
(Prompt:="What is the Heading of Data set #" & c & " Table " & tc & " This entry may repeat", Type:=8)
[Code] .........
Macro 2
Code:
'A lot of code here but I want to be able to set multiple ranges to the ranges list in the cell values.
rng(2) = sh(0).Range("AG2").Value
View 9 Replies
View Related
Apr 4, 2007
I am having troubles with using two methods together. I know how to find the address of the first or last occurance of a MAX in a range. I also know how to create a MAXIF function using criteria to determine what to consider for the max calculation. I do not know how to return the address of the result from the MAXIF.
I am using Office 2003 on WinXP.
Ultimately I want to take the address of the first result of a MAXIF and use it to do a lookup for a corresponding value. I'm not sure if I will be able to do this with a combination of functions, or if I will need a macro.
Heres an example:
Data:
Time WeekNum Count
01:02 1 12
02:05 1 35
03:09 2 456
14:20 2 123
12:24 2 122
Usage:
Use the maxif lookup to return the time of the largest count for WeekNum 2
Result:
03:09
View 9 Replies
View Related
Jan 12, 2009
I have a variable which contains the column number. How do I then reference a range in VBA using that column number, as opposed to the letter? I know how to convert the number into the letter, but I also know there has to be something more simpler. For instance, a form of the ADDRESS function, but in VBA?
View 9 Replies
View Related
Feb 10, 2010
I have this simple requirement
Business ProcessBp1Bp2Bp3Bs. Consulting
The Bs. consulting can take any values from business process like Bp1 or Bp1 or Bp2...
for this i have written validation macro
If Target.Address = "$C$21" Or Target.Address = "$D$21" Or Target.Address = "$E$21" Or Target.Address = "$F$21" Or Target.Address = "$G$21" Or Target.Address = "$H$21" Then
do the validation;
end if;
this works fine, but i need to use or condition , is there any better way to write this, a more compact way,
View 9 Replies
View Related
Nov 17, 2006
it seems that the string range.address is not always equal to the complete range address.
I mean, I noticed that, if rg is a range,
Dim rg As range
...
rg<>Range(rg.address)
In the cases I noticed it, the range was an union of many ranges, and the string Address was already big, but not 1 kBite long.
My question: is there a way to get the *complete* range address, without this restriction?
I would like to use the address property, because I would like to have my range without sheet information.
So I use often : rg=Range(rg.address)
View 9 Replies
View Related
Nov 22, 2006
I want to define the range from a given cell and all data below within the same column strDataStart is the named cell in the worksheet that want to start from. Below is what I tried and failed.
Function rngDataCol(strDataStart As String) As Range
Dim rngDataEnd As Range
rngDataEnd = Range("strDataStart").End(xlDown)
rngDataCol = Range(Range("strDataStart").Address, rngDataEnd.Address)
End Function
View 5 Replies
View Related