Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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
|
|||
|
|||
![]()
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
|
|||
|
|||
![]()
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
|
|||
|
|||
![]()
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
|
|||
|
|||
![]()
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, |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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, |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
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 |