#1   Report Post  
Monty
 
Posts: n/a
Default Public Function

My worksheet has the following:-

In Cell B1to B100 a received invoice date is input
In Cell C1to C100 a received invoice date at cost center is input
In Cell D1to D100 the following formula is input to calculate the
number of days =DAYS360(B1,C1)

What I am trying to achieve is if the number of days
calculated is over 15 Days, staff have to issue a letter to the budget
holder to ask them to explain the lateness of the invoice.
So if I could get some sort of message box to appear this
will ensure that this is done.

I am able to run a validation and change the cell to red, however staff
still forget to issue letter.
So can anyone help me to sort this problem?

I have already tried the following but no joy, error circular ref:-


Public Function PromptPayment()
MsgBox "Please issue Prompt Payment Letter"
End Function

Then in cell D1 I input the following:-
=DAYS360(B1,C1)=IF(D115,PromptPayment(),"")

and if i just input this instead
=IF(D115,PromptPayment(),"")


  #3   Report Post  
JE McGimpsey
 
Posts: n/a
Default

Please follow your previous threads instead of creating new ones.


In article ,
"Monty" wrote:

My worksheet has the following:-

In Cell B1to B100 a received invoice date is input
In Cell C1to C100 a received invoice date at cost center is input
In Cell D1to D100 the following formula is input to calculate the
number of days =DAYS360(B1,C1)

What I am trying to achieve is if the number of days
calculated is over 15 Days, staff have to issue a letter to the budget
holder to ask them to explain the lateness of the invoice.
So if I could get some sort of message box to appear this
will ensure that this is done.

I am able to run a validation and change the cell to red, however staff
still forget to issue letter.
So can anyone help me to sort this problem?

I have already tried the following but no joy, error circular ref:-


Public Function PromptPayment()
MsgBox "Please issue Prompt Payment Letter"
End Function

Then in cell D1 I input the following:-
=DAYS360(B1,C1)=IF(D115,PromptPayment(),"")

and if i just input this instead
=IF(D115,PromptPayment(),"")

  #4   Report Post  
Otto Moehrbach
 
Posts: n/a
Default

Monty
A formula in a cell can only return a value to that cell, it cannot
trigger a macro or a function to run.
To get a message box to display, you will need VBA. From what you say,
you need a macro to check all the values in Column D and for each value that
is over 15, display a message box citing some identifying parameter of that
row and stating what has to be done.
The only question that has to be decided, and only you can do that, is
when to run that macro. Again from what you say, I think that you need to
run that macro automatically upon the occurrence of some event. Excel
recognizes many events and can act automatically when these events occur.
Only you know which event would be best for your problem.
Some events that I think could work for you a
Before_Save event - action is taken when the user saves the file.
Before_Close event - action is taken when the user closes the file.
Before_Print event - action is taken when anything is printed from the file.
Calculate event - action is taken when the sheet is calculated.

There are many more events but these appear to be germane to your problem.
Post back if any of the above looks to you like something you might want.
HTH Otto
"Monty" wrote in message
...
My worksheet has the following:-

In Cell B1to B100 a received invoice date is input
In Cell C1to C100 a received invoice date at cost center is input
In Cell D1to D100 the following formula is input to calculate the
number of days =DAYS360(B1,C1)

What I am trying to achieve is if the number of days
calculated is over 15 Days, staff have to issue a letter to the budget
holder to ask them to explain the lateness of the invoice.
So if I could get some sort of message box to appear this
will ensure that this is done.

I am able to run a validation and change the cell to red, however staff
still forget to issue letter.
So can anyone help me to sort this problem?

I have already tried the following but no joy, error circular ref:-


Public Function PromptPayment()
MsgBox "Please issue Prompt Payment Letter"
End Function

Then in cell D1 I input the following:-
=DAYS360(B1,C1)=IF(D115,PromptPayment(),"")

and if i just input this instead
=IF(D115,PromptPayment(),"")




  #5   Report Post  
JE McGimpsey
 
Posts: n/a
Default

Actually, in Monty's case, since the function is only throwing up a
msgbox, it works fine, he just needs to get his formulas correct:

D1: =IF(DAYS360(B1,C1)15,PromptPayment(),DAYS360(B1,C 1)

or

D1: =IF((C1-B1)15,PromptPayment(),C1-B1)


In article ,
"Otto Moehrbach" wrote:

A formula in a cell can only return a value to that cell, it cannot
trigger a macro or a function to run.



  #6   Report Post  
JE McGimpsey
 
Posts: n/a
Default

I made up an example workbook for you using both C1-B1 and Days360() at

ftp://ftp.mcgimpsey.com/excel/monty_demo.xls


In article ,
"Monty" wrote:

My worksheet has the following:-

In Cell B1to B100 a received invoice date is input
In Cell C1to C100 a received invoice date at cost center is input
In Cell D1to D100 the following formula is input to calculate the
number of days =DAYS360(B1,C1)

What I am trying to achieve is if the number of days
calculated is over 15 Days, staff have to issue a letter to the budget
holder to ask them to explain the lateness of the invoice.
So if I could get some sort of message box to appear this
will ensure that this is done.

I am able to run a validation and change the cell to red, however staff
still forget to issue letter.
So can anyone help me to sort this problem?

I have already tried the following but no joy, error circular ref:-


Public Function PromptPayment()
MsgBox "Please issue Prompt Payment Letter"
End Function

Then in cell D1 I input the following:-
=DAYS360(B1,C1)=IF(D115,PromptPayment(),"")

and if i just input this instead
=IF(D115,PromptPayment(),"")

  #7   Report Post  
Monty
 
Posts: n/a
Default

Hi

Sorry about all this i am just starting to learn about excel, as you can tell.
it is also the first time i have asked questions in this way.
I have copied the example workbook using your formula below and it works
like a dream thanks for that.
however can i ask you one more question.
When you hit the ok button in the message box the cell reverts back to zero,
can this be changed so the correct amount of days are shown even if they are
over 15.
Thanks once again for all your help.
Monty

"JE McGimpsey" wrote:

I made up an example workbook for you using both C1-B1 and Days360() at

ftp://ftp.mcgimpsey.com/excel/monty_demo.xls


In article ,
"Monty" wrote:

My worksheet has the following:-

In Cell B1to B100 a received invoice date is input
In Cell C1to C100 a received invoice date at cost center is input
In Cell D1to D100 the following formula is input to calculate the
number of days =DAYS360(B1,C1)

What I am trying to achieve is if the number of days
calculated is over 15 Days, staff have to issue a letter to the budget
holder to ask them to explain the lateness of the invoice.
So if I could get some sort of message box to appear this
will ensure that this is done.

I am able to run a validation and change the cell to red, however staff
still forget to issue letter.
So can anyone help me to sort this problem?

I have already tried the following but no joy, error circular ref:-


Public Function PromptPayment()
MsgBox "Please issue Prompt Payment Letter"
End Function

Then in cell D1 I input the following:-
=DAYS360(B1,C1)=IF(D115,PromptPayment(),"")

and if i just input this instead
=IF(D115,PromptPayment(),"")


  #8   Report Post  
JE McGimpsey
 
Posts: n/a
Default

One way:

=IF((C1-B1)=15,PromptPayment()+C1-B1,C1-B1)

In article ,
"Monty" wrote:

When you hit the ok button in the message box the cell reverts back to zero,
can this be changed so the correct amount of days are shown even if they are
over 15.

  #9   Report Post  
Monty
 
Posts: n/a
Default

what cell would i put this into

"JE McGimpsey" wrote:

One way:

=IF((C1-B1)=15,PromptPayment()+C1-B1,C1-B1)

In article ,
"Monty" wrote:

When you hit the ok button in the message box the cell reverts back to zero,
can this be changed so the correct amount of days are shown even if they are
over 15.


  #10   Report Post  
Monty
 
Posts: n/a
Default

Sorry got this working okay

thanks for all your help

Monty

"Monty" wrote:

what cell would i put this into

"JE McGimpsey" wrote:

One way:

=IF((C1-B1)=15,PromptPayment()+C1-B1,C1-B1)

In article ,
"Monty" wrote:

When you hit the ok button in the message box the cell reverts back to zero,
can this be changed so the correct amount of days are shown even if they are
over 15.




Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Access Module coded converted to Excel Function Adam Excel Discussion (Misc queries) 1 December 23rd 04 02:48 PM
Function in XL or in VBA for XL that pulls numeric digits from a t Nate Oliver Excel Discussion (Misc queries) 0 December 14th 04 04:57 PM
#VALUE in cell but pop up function box show right number Ted Dalton Excel Discussion (Misc queries) 1 December 14th 04 03:15 PM
Excel function help facilities RPS Excel Discussion (Misc queries) 1 December 8th 04 02:36 AM
I cant use englisch function names in a swedich version of excel PE Excel Discussion (Misc queries) 2 December 7th 04 01:00 AM


All times are GMT +1. The time now is 06:06 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"