ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   i = row number of last occurance of duplicate string Column A (https://www.excelbanter.com/excel-programming/450414-i-%3D-row-number-last-occurance-duplicate-string-column.html)

L. Howard

i = row number of last occurance of duplicate string Column A
 

In the code, trying to assign the row number this formula returns to i.
=LOOKUP(2,1/(A1:A20="abc"),ROW(A1:A20)) = 15 (on the sheet Array Enter)

Errors out with "OneRng" in this line highlighted in blue (OneRng = "abc")
Code compiles, but with "expanded" spaces?? Then errors when run.

Sub SomeRangeA()
Dim OneRng As Range
Dim i As Long, ii As Long

Set OneRng = Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row)
i = Application.WorksheetFunction.Lookup(2, 1 / (OneRng = "abc"), Row(OneRng))

End Sub

Thanks,
Howard

Claus Busch

i = row number of last occurance of duplicate string Column A
 
Hi Howard,

Am Tue, 4 Nov 2014 04:14:39 -0800 (PST) schrieb L. Howard:

Set OneRng = Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row)
i = Application.WorksheetFunction.Lookup(2, 1 / (OneRng = "abc"), Row(OneRng))


try:
Sub SomeRangeA()
Dim lRow As Long
Dim i As Long

lRow = Cells(Rows.Count, "A").End(xlUp).Row
i = Evaluate("=Lookup(2,1/(A2:A" & lRow & " = ""abc""), Row(A2:A" & lRow & "))")
End Sub


Regards
Claus B.
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional

L. Howard

i = row number of last occurance of duplicate string Column A
 
On Tuesday, November 4, 2014 4:59:59 AM UTC-8, Claus Busch wrote:
Hi Howard,

Am Tue, 4 Nov 2014 04:14:39 -0800 (PST) schrieb L. Howard:

Set OneRng = Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row)
i = Application.WorksheetFunction.Lookup(2, 1 / (OneRng = "abc"), Row(OneRng))


try:
Sub SomeRangeA()
Dim lRow As Long
Dim i As Long

lRow = Cells(Rows.Count, "A").End(xlUp).Row
i = Evaluate("=Lookup(2,1/(A2:A" & lRow & " = ""abc""), Row(A2:A" & lRow & "))")
End Sub


Regards
Claus B.
--



Thanks Claus, works well.

Is there a short answer as to why Application.WorksheetFunction.... does not work?

Howard

Claus Busch

i = row number of last occurance of duplicate string Column A
 
Hi Howard,

Am Tue, 4 Nov 2014 06:44:41 -0800 (PST) schrieb L. Howard:

Is there a short answer as to why Application.WorksheetFunction.... does not work?


I don't know. If the syntax is correct I get a Type Mismatch.

But you can also try it with MATCH:

Sub Test()
Dim i As Long, LRow As Long

LRow = Cells(Rows.Count, 1).End(xlUp).Row
With WorksheetFunction
i = .Match("""abc""", Range("A1:A" & LRow), -1)
End With
MsgBox i
End Sub



Regards
Claus B.
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional

L. Howard

i = row number of last occurance of duplicate string Column A
 
On Tuesday, November 4, 2014 7:07:51 AM UTC-8, Claus Busch wrote:
Hi Howard,

Am Tue, 4 Nov 2014 06:44:41 -0800 (PST) schrieb L. Howard:

Is there a short answer as to why Application.WorksheetFunction.... does not work?


I don't know. If the syntax is correct I get a Type Mismatch.

But you can also try it with MATCH:

Sub Test()
Dim i As Long, LRow As Long

LRow = Cells(Rows.Count, 1).End(xlUp).Row
With WorksheetFunction
i = .Match("""abc""", Range("A1:A" & LRow), -1)
End With
MsgBox i
End Sub



Regards
Claus B.



Okay, appreciate the info.

Your first suggestion works quite well and I am using it.

Thanks again.

Regards,
Howard


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

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com