Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Problem with find function in VBA
Hello,
I would like to use the function find in my code. The function work correctly for all numbers but not for 1 value. The value exist, I don't understand? Function cherche(feuille As Object, txt As String, zone As String, p As Boolean) As Long ' function which find in worksheet 'feuille' the value ' 'txt' in area 'zone' ' p = true = function return the row number ' p = false = function return the column number ' If value is not found, the function return 0 ' ------------------------------------------------------- Dim z As String feuille.Activate z = Left(zone, InStr(1, zone, ":") - 1) If feuille.Range(z) = txt Then feuille.Range(z).Select If p Then cherche = feuille.Range(z).Row() Else cherche = feuille.Range(z).Column() End If Else With feuille.Range(zone) Set c = .Find(txt, LookIn:=xlValues, lookAt:=xlPart) If Not c Is Nothing Then If p Then cherche = c.Row() Else cherche = c.Column() End If Else cherche = 0 End If End With End If End Function |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Problem with find function in VBA
What is the value? Find often has problems with dates.
-- Regards, Tom Ogilvy "André" wrote in message ... Hello, I would like to use the function find in my code. The function work correctly for all numbers but not for 1 value. The value exist, I don't understand? Function cherche(feuille As Object, txt As String, zone As String, p As Boolean) As Long ' function which find in worksheet 'feuille' the value ' 'txt' in area 'zone' ' p = true = function return the row number ' p = false = function return the column number ' If value is not found, the function return 0 ' ------------------------------------------------------- Dim z As String feuille.Activate z = Left(zone, InStr(1, zone, ":") - 1) If feuille.Range(z) = txt Then feuille.Range(z).Select If p Then cherche = feuille.Range(z).Row() Else cherche = feuille.Range(z).Column() End If Else With feuille.Range(zone) Set c = .Find(txt, LookIn:=xlValues, lookAt:=xlPart) If Not c Is Nothing Then If p Then cherche = c.Row() Else cherche = c.Column() End If Else cherche = 0 End If End With End If End Function |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Problem with find function in VBA
The project is the budget management of the enterprise
I give a sample A B ------------------------------------- 1 | Production | Impro | 2 | 10000 | 11001 | ------------------------------------- 3 45 50 4 40 49 Well, the header is the cost center and the data is the number of hours. The hours is the result of a SQL. For each cost center, i must fill the good column with the good number. I use the function with the cost center for the parameter for finding the column number. If the cost center is not the last column of the area, the function work correctly otherwise not. for the sample above cl = cherche (feuille, "10000", "A2:B2", false) in this case cl = 1 cl = cherche (feuille, "11001", "A2:B2", false) in this case cl = 0 but, if i use the function cl = cherche (feuille, "11001", "A2:D2", false) in this case cl = 2 I don't understand Andre On Tue, 3 May 2005 10:17:28 -0400, "Tom Ogilvy" wrote: What is the value? Find often has problems with dates. |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Problem with find function in VBA
cl = cherche (feuille, "11001", "A2:D2", false)
is meaningless to me. -- Regards, Tom Ogilvy "André" wrote in message ... The project is the budget management of the enterprise I give a sample A B ------------------------------------- 1 | Production | Impro | 2 | 10000 | 11001 | ------------------------------------- 3 45 50 4 40 49 Well, the header is the cost center and the data is the number of hours. The hours is the result of a SQL. For each cost center, i must fill the good column with the good number. I use the function with the cost center for the parameter for finding the column number. If the cost center is not the last column of the area, the function work correctly otherwise not. for the sample above cl = cherche (feuille, "10000", "A2:B2", false) in this case cl = 1 cl = cherche (feuille, "11001", "A2:B2", false) in this case cl = 0 but, if i use the function cl = cherche (feuille, "11001", "A2:D2", false) in this case cl = 2 I don't understand Andre On Tue, 3 May 2005 10:17:28 -0400, "Tom Ogilvy" wrote: What is the value? Find often has problems with dates. |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Match Function Problem - Won't Find Certain Numbers | Excel Discussion (Misc queries) | |||
Problem with Find function in VBA | Excel Programming | |||
Excel VBA Problem- Using Find Function | Excel Programming | |||
Problem in VBA with function FIND(... | Excel Programming | |||
Problem with Find function | Excel Programming |