ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Macro to find last occurance (https://www.excelbanter.com/excel-discussion-misc-queries/145779-macro-find-last-occurance.html)

hnyb1

Macro to find last occurance
 
This is the code I have so far; however instead of finding the first
occurrence of what was entered into the input box, I need the last occurrence
in column C. Can anyone help?

Sub Insertinfo()
Dim FindWhat As String
Dim FoundCell As Range

FindWhat = InputBox("Find What", "Find")
If StrPtr(FindWhat) = 0 Then
Exit Sub
End If
On Error Resume Next
Set FoundCell = Range("c:c").Find(What:=FindWhat, _
LookAt:=xlWhole, LookIn:=xlValues)
If FoundCell Is Nothing Then
MsgBox "Not Found"
Else
FoundCell.Activate
With ActiveCell.EntireRow
.Copy
.Insert Shift:=xlDown
End With
End If
Application.CutCopyMode = False
End Sub

Thanks,
Holly

Ron de Bruin

Macro to find last occurance
 
Try this

If you have more then one occurrence of the value this will
select the last occurrence in column C.

Sub Find_Last()
Dim FindString As String
Dim rng As Range
FindString = InputBox("Enter a Search value")
If Trim(FindString) < "" Then
With Sheets("Sheet1").Range("C:C")
Set rng = .Find(What:=FindString, _
After:=.Cells(1), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False)
If Not rng Is Nothing Then
Application.Goto rng, True
Else
MsgBox "Nothing found"
End If
End With
End If
End Sub


--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"hnyb1" wrote in message ...
This is the code I have so far; however instead of finding the first
occurrence of what was entered into the input box, I need the last occurrence
in column C. Can anyone help?

Sub Insertinfo()
Dim FindWhat As String
Dim FoundCell As Range

FindWhat = InputBox("Find What", "Find")
If StrPtr(FindWhat) = 0 Then
Exit Sub
End If
On Error Resume Next
Set FoundCell = Range("c:c").Find(What:=FindWhat, _
LookAt:=xlWhole, LookIn:=xlValues)
If FoundCell Is Nothing Then
MsgBox "Not Found"
Else
FoundCell.Activate
With ActiveCell.EntireRow
.Copy
.Insert Shift:=xlDown
End With
End If
Application.CutCopyMode = False
End Sub

Thanks,
Holly


hnyb1

Macro to find last occurance
 
Thank you much, especially for the quick response! It worked beautifully.

"Ron de Bruin" wrote:

Try this

If you have more then one occurrence of the value this will
select the last occurrence in column C.

Sub Find_Last()
Dim FindString As String
Dim rng As Range
FindString = InputBox("Enter a Search value")
If Trim(FindString) < "" Then
With Sheets("Sheet1").Range("C:C")
Set rng = .Find(What:=FindString, _
After:=.Cells(1), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False)
If Not rng Is Nothing Then
Application.Goto rng, True
Else
MsgBox "Nothing found"
End If
End With
End If
End Sub


--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"hnyb1" wrote in message ...
This is the code I have so far; however instead of finding the first
occurrence of what was entered into the input box, I need the last occurrence
in column C. Can anyone help?

Sub Insertinfo()
Dim FindWhat As String
Dim FoundCell As Range

FindWhat = InputBox("Find What", "Find")
If StrPtr(FindWhat) = 0 Then
Exit Sub
End If
On Error Resume Next
Set FoundCell = Range("c:c").Find(What:=FindWhat, _
LookAt:=xlWhole, LookIn:=xlValues)
If FoundCell Is Nothing Then
MsgBox "Not Found"
Else
FoundCell.Activate
With ActiveCell.EntireRow
.Copy
.Insert Shift:=xlDown
End With
End If
Application.CutCopyMode = False
End Sub

Thanks,
Holly




All times are GMT +1. The time now is 12:01 AM.

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