Recalculating cell

D

Dennis Allen

Hi. I have a workbook with 400 sheets. Each sheet contains an area for log entries (A11:D510). (B11:B510) has the log dates. In
one cell I want to display the latest log entry date. I was thinking B4=LatestFix(), as in:


Public Function LastFix()
LastFix = 0
i = 11
Do While i <= 510 And Cells(i, "B") > 0
LastFix = Cells(i, "B")
i = i + 1
Loop
End Function


Problem. Suppose the user adds a new entry. How can I get B4 to recalulate LatestFix()? What's the best way? I was thinking
Worksheet_Change(), but I have 400 sheets. Unless you can somehow select all sheets and edit all their Worksheet_Change() at once,
that's a lot of work. Any advice would be helpful...Dennis
 
F

Frank Kabel

Hi
use
=LOOKUP(2,1/(B11:B510>0),B11:B510)

no need for VBA

--
Regards
Frank Kabel
Frankfurt, Germany

Dennis Allen said:
Hi. I have a workbook with 400 sheets. Each sheet contains an area
for log entries (A11:D510). (B11:B510) has the log dates. In
one cell I want to display the latest log entry date. I was thinking B4=LatestFix(), as in:


Public Function LastFix()
LastFix = 0
i = 11
Do While i <= 510 And Cells(i, "B") > 0
LastFix = Cells(i, "B")
i = i + 1
Loop
End Function


Problem. Suppose the user adds a new entry. How can I get B4 to
recalulate LatestFix()? What's the best way? I was thinking
Worksheet_Change(), but I have 400 sheets. Unless you can somehow
select all sheets and edit all their Worksheet_Change() at once,
 
D

Dennis Allen

Well, That's just one case. I'll need to add other functions, such as:

Public Function LastPM()
LastPM = 0
i = 11
Do While i <= 510 And Cells(i, "B") > 0
If Cells(i, "A") <> "" Then
LastPM = Cells(i, "B")
End If
i = i + 1
Loop
End Function
 
F

Frank Kabel

Hi
use the range for which you want to calculate as parameter (Though I
still think you're better with using worksheet formulas)
 
D

Dennis Allen

??? I don't understand.

If I stick =LastPM() in cell C4, if any change occurs in either cells A11:A510 or B11:B510 then C4 needs to be refreshed. How do I
do that for 400 sheets?
 
D

Dennis Allen

Oh, question. Hoes does =LOOKUP(2,1/(B11:B510>0),B11:B510) work? I don't understand what 1/(B11:B510>0) does...Dennis
 
F

Frank Kabel

Hi
as said: I would use a worksheet function for this. Esp. if you need
400 of these functions. UDFs are quite slow. What do you want to
calculate exactly on these 400 sheets

--
Regards
Frank Kabel
Frankfurt, Germany

Dennis Allen said:
??? I don't understand.

If I stick =LastPM() in cell C4, if any change occurs in either cells
A11:A510 or B11:B510 then C4 needs to be refreshed. How do I
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top