Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations cowski on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

How to trigger a function in VBA to run???

Status
Not open for further replies.

steveyeung

Civil/Environmental
Joined
Sep 5, 2004
Messages
76
Location
GB
I've done a set of codes or a function, see below) which will be recalled to to do a simple task.

However, I found the function only "recalculates/runs" when the (contents of) arguments have been chnages "directly". As this function is called and appears in a worksheet where the users cannot work on it, this function never works at all..........

Are there any methods to make it run when the users press "enter" while working on other worksheets??

Thanks!!












'Looking for the dimensions based on the section unders consideration
Function SectionDim(SectionConsidered As Single, Element As String) As Single
Dim I As Integer, K As Integer, Row_No As Integer
Dim LowerBound As Single
Dim Flag As String, Flag_Length As String
'Assign dimension to the corresponding section under consideration
With Worksheets("Input_Data")
Flag_Length = Len(Element)
For K = 17 To 66
If Element = .Cells(K, 6).Value Then
Row_No = K
Flag_Length = Len(.Cells(Row_No, 6).Value)
End If
Next K

LowerBound = 0
If Flag_Length = 1 Then
I = 10
Do
If SectionConsidered > LowerBound And SectionConsidered < .Cells(Row_No + 2, I).Value Then
SectionDim = .Cells(Row_No, I).Value
Exit Do
Else
LowerBound = .Cells(Row_No + 2, I).Value
I = I + 1
End If
Loop Until I = 109 Or .Cells(Row_No, I).Value = " " Or .Cells(Row_No, I).Value = 0
Else
I = 10
Do
If SectionConsidered > LowerBound And SectionConsidered < .Cells(Row_No + 1, I).Value Then
SectionDim = .Cells(Row_No, I).Value
Exit Do
Else
LowerBound = .Cells(Row + 1, I).Value
I = I + 1
End If
Loop Until I = 109 Or .Cells(Row_No, I).Value = " " Or .Cells(Row_No, I).Value = 0


End If
End With
End Function
 
Correction:

Just pressing "Enter" not adding a command button

Steve
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top