Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Pass on cell address to an UDF?
Is it possible to pass on the cell, in which an UDF is located, to the UDF
itself? Example: In cell C4, I have an UDF, like: =CELLTELL() ....and the UDF could return something like: Function CELLTELL() If Celladdress = "C4" Then CELLTELL = "Explosive cell!" Else CELLTELL = "Harmless cell" End If End Function Hope you get the picture... Thanks, |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Pass on cell address to an UDF?
Using inbuilt functions in cells:
=IF(ADDRESS(ROW(),COLUMN())="$C$4","Explosive Cell","Harmless") Expand on this and pass some parameters if you need it in a UDF: Function CELLTELL(addr) 'use this way in cell ' =CELLTELL(ADDRESS(ROW(),COLUMN())) CELLTELL = "Harmless cell" If addr = "$C$4" Then CELLTELL = "Explosive cell" End Function -- Steve "Charlotte E" <@ wrote in message ... Is it possible to pass on the cell, in which an UDF is located, to the UDF itself? Example: In cell C4, I have an UDF, like: =CELLTELL() ...and the UDF could return something like: Function CELLTELL() If Celladdress = "C4" Then CELLTELL = "Explosive cell!" Else CELLTELL = "Harmless cell" End If End Function Hope you get the picture... Thanks, |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Pass on cell address to an UDF?
AltaEgo wrote:
Using inbuilt functions in cells: =IF(ADDRESS(ROW(),COLUMN())="$C$4","Explosive Cell","Harmless") Expand on this and pass some parameters if you need it in a UDF: Function CELLTELL(addr) 'use this way in cell ' =CELLTELL(ADDRESS(ROW(),COLUMN())) CELLTELL = "Harmless cell" If addr = "$C$4" Then CELLTELL = "Explosive cell" End Function Thanks, but that's the whole point: I was kind of hoping to be able to avoid the ADDRESS(ROW(),COLUMN()), and just use =CELLTELL(). I was hoping that VBA had a way of 'reading' what cell the function was located in? Actually, just lige =ROW() Somehow that function must be able to 'read' what cell it is located in? Anyone know how to do this? TIA, "Charlotte E" <@ wrote in message ... Is it possible to pass on the cell, in which an UDF is located, to the UDF itself? Example: In cell C4, I have an UDF, like: =CELLTELL() ...and the UDF could return something like: Function CELLTELL() If Celladdress = "C4" Then CELLTELL = "Explosive cell!" Else CELLTELL = "Harmless cell" End If End Function Hope you get the picture... Thanks, |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Pass on cell address to an UDF?
Something like this ?
Function CellTell() If Application.Caller.Address(False, False) = "C4" Then CellTell = "Explosive" Else CellTell = "Harmless" End If End Function Tim "Charlotte E" <@ wrote in message ... AltaEgo wrote: Using inbuilt functions in cells: =IF(ADDRESS(ROW(),COLUMN())="$C$4","Explosive Cell","Harmless") Expand on this and pass some parameters if you need it in a UDF: Function CELLTELL(addr) 'use this way in cell ' =CELLTELL(ADDRESS(ROW(),COLUMN())) CELLTELL = "Harmless cell" If addr = "$C$4" Then CELLTELL = "Explosive cell" End Function Thanks, but that's the whole point: I was kind of hoping to be able to avoid the ADDRESS(ROW(),COLUMN()), and just use =CELLTELL(). I was hoping that VBA had a way of 'reading' what cell the function was located in? Actually, just lige =ROW() Somehow that function must be able to 'read' what cell it is located in? Anyone know how to do this? TIA, "Charlotte E" <@ wrote in message ... Is it possible to pass on the cell, in which an UDF is located, to the UDF itself? Example: In cell C4, I have an UDF, like: =CELLTELL() ...and the UDF could return something like: Function CELLTELL() If Celladdress = "C4" Then CELLTELL = "Explosive cell!" Else CELLTELL = "Harmless cell" End If End Function Hope you get the picture... Thanks, |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Pass on cell address to an UDF?
Try this UDF...
Function CellTell() CellTell = Application.Caller.Address End Function This returns an absolute address. If you want the ability to specify the absolute/relative addressing mode, then here is a more general function... Function CellTell(Optional ColAbsolute = True, Optional RowAbsolute = True) CellTell = Application.Caller.Address(RowAbsolute, ColAbsolute) End Function So, if you wanted a fully relative address, you would use this UDF call... =CellTell(FALSE,FALSE) -- Rick (MVP - Excel) "Charlotte E" <@ wrote in message ... AltaEgo wrote: Using inbuilt functions in cells: =IF(ADDRESS(ROW(),COLUMN())="$C$4","Explosive Cell","Harmless") Expand on this and pass some parameters if you need it in a UDF: Function CELLTELL(addr) 'use this way in cell ' =CELLTELL(ADDRESS(ROW(),COLUMN())) CELLTELL = "Harmless cell" If addr = "$C$4" Then CELLTELL = "Explosive cell" End Function Thanks, but that's the whole point: I was kind of hoping to be able to avoid the ADDRESS(ROW(),COLUMN()), and just use =CELLTELL(). I was hoping that VBA had a way of 'reading' what cell the function was located in? Actually, just lige =ROW() Somehow that function must be able to 'read' what cell it is located in? Anyone know how to do this? TIA, "Charlotte E" <@ wrote in message ... Is it possible to pass on the cell, in which an UDF is located, to the UDF itself? Example: In cell C4, I have an UDF, like: =CELLTELL() ...and the UDF could return something like: Function CELLTELL() If Celladdress = "C4" Then CELLTELL = "Explosive cell!" Else CELLTELL = "Harmless cell" End If End Function Hope you get the picture... Thanks, |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
Pass on cell address to an UDF?
I think I misread what you were looking to do... it looks like Tim's
response may be what you were after. -- Rick (MVP - Excel) "Rick Rothstein" wrote in message ... Try this UDF... Function CellTell() CellTell = Application.Caller.Address End Function This returns an absolute address. If you want the ability to specify the absolute/relative addressing mode, then here is a more general function... Function CellTell(Optional ColAbsolute = True, Optional RowAbsolute = True) CellTell = Application.Caller.Address(RowAbsolute, ColAbsolute) End Function So, if you wanted a fully relative address, you would use this UDF call... =CellTell(FALSE,FALSE) -- Rick (MVP - Excel) "Charlotte E" <@ wrote in message ... AltaEgo wrote: Using inbuilt functions in cells: =IF(ADDRESS(ROW(),COLUMN())="$C$4","Explosive Cell","Harmless") Expand on this and pass some parameters if you need it in a UDF: Function CELLTELL(addr) 'use this way in cell ' =CELLTELL(ADDRESS(ROW(),COLUMN())) CELLTELL = "Harmless cell" If addr = "$C$4" Then CELLTELL = "Explosive cell" End Function Thanks, but that's the whole point: I was kind of hoping to be able to avoid the ADDRESS(ROW(),COLUMN()), and just use =CELLTELL(). I was hoping that VBA had a way of 'reading' what cell the function was located in? Actually, just lige =ROW() Somehow that function must be able to 'read' what cell it is located in? Anyone know how to do this? TIA, "Charlotte E" <@ wrote in message ... Is it possible to pass on the cell, in which an UDF is located, to the UDF itself? Example: In cell C4, I have an UDF, like: =CELLTELL() ...and the UDF could return something like: Function CELLTELL() If Celladdress = "C4" Then CELLTELL = "Explosive cell!" Else CELLTELL = "Harmless cell" End If End Function Hope you get the picture... Thanks, |
#7
Posted to microsoft.public.excel.programming
|
|||
|
|||
Pass on cell address to an UDF?
Sorry for a late reply (out playing flag-football all day :-)
Thanks, Tim - that's excately what I was looking for :-) Tim Williams wrote: Something like this ? Function CellTell() If Application.Caller.Address(False, False) = "C4" Then CellTell = "Explosive" Else CellTell = "Harmless" End If End Function Tim "Charlotte E" <@ wrote in message ... AltaEgo wrote: Using inbuilt functions in cells: =IF(ADDRESS(ROW(),COLUMN())="$C$4","Explosive Cell","Harmless") Expand on this and pass some parameters if you need it in a UDF: Function CELLTELL(addr) 'use this way in cell ' =CELLTELL(ADDRESS(ROW(),COLUMN())) CELLTELL = "Harmless cell" If addr = "$C$4" Then CELLTELL = "Explosive cell" End Function Thanks, but that's the whole point: I was kind of hoping to be able to avoid the ADDRESS(ROW(),COLUMN()), and just use =CELLTELL(). I was hoping that VBA had a way of 'reading' what cell the function was located in? Actually, just lige =ROW() Somehow that function must be able to 'read' what cell it is located in? Anyone know how to do this? TIA, "Charlotte E" <@ wrote in message ... Is it possible to pass on the cell, in which an UDF is located, to the UDF itself? Example: In cell C4, I have an UDF, like: =CELLTELL() ...and the UDF could return something like: Function CELLTELL() If Celladdress = "C4" Then CELLTELL = "Explosive cell!" Else CELLTELL = "Harmless cell" End If End Function Hope you get the picture... Thanks, |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Pass a cell address - Modify interior font | Excel Programming | |||
Pass IE web address to Excel | Excel Programming | |||
Pass Cell Address to OFFSET | Excel Worksheet Functions | |||
Pass a string to an address | Excel Programming | |||
How to pass address(es) as parameters | Excel Programming |