Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
'LastRow' Function not working
This is basically what I have. It was working at one time. Not sure why now. __________________________________________________ __ Private Sub btnProcess_Click() btnProcess.Enabled = False Call test1 End Sub __________________________________________________ __ Function LastRow(sh As Worksheet) On Error Resume Next LastRow = sh.Cells.Find(What:="*", _ after:=sh.Range("B0"), _ lookat:=xlPart, _ LookIn:=xlValues, _ searchorder:=xlByRows, _ searchdirection:=xlPrevious, _ MatchCase:=False).Row On Error GoTo 0 End Function __________________________________________________ _ Public Sub ProcessSingle1(ws As Worksheet, WS2 As Worksheet, Str As String) Dim LRow As Long LRow = LastRow(WS2) End Sub __________________________________________________ _ Sub test1() ActiveCell.Activate Dim ws As Worksheet Dim WS2 As Worksheet Dim Str As String 'UNSCHEDULED Set ws = Sheets("Unsc.") Set WS2 = Sheets("Print281") Str = "81" Call ProcessSingle(ws, WS2, Str) End Sub __________________________________________________ _ |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
'LastRow' Function not working
Hi,
To look for the last row of data in a column, say column B of sheet Wsh LastRow = Wsh.Range("B65536").End(xlup).Row It assumes data stop before row 65536. It is the same as manually selecting B65536 and doing a CTRL+ArrowKeyUP -- Regards, Sébastien "Randy Reese" wrote: This is basically what I have. It was working at one time. Not sure why now. __________________________________________________ __ Private Sub btnProcess_Click() btnProcess.Enabled = False Call test1 End Sub __________________________________________________ __ Function LastRow(sh As Worksheet) On Error Resume Next LastRow = sh.Cells.Find(What:="*", _ after:=sh.Range("B0"), _ lookat:=xlPart, _ LookIn:=xlValues, _ searchorder:=xlByRows, _ searchdirection:=xlPrevious, _ MatchCase:=False).Row On Error GoTo 0 End Function __________________________________________________ _ Public Sub ProcessSingle1(ws As Worksheet, WS2 As Worksheet, Str As String) Dim LRow As Long LRow = LastRow(WS2) End Sub __________________________________________________ _ Sub test1() ActiveCell.Activate Dim ws As Worksheet Dim WS2 As Worksheet Dim Str As String 'UNSCHEDULED Set ws = Sheets("Unsc.") Set WS2 = Sheets("Print281") Str = "81" Call ProcessSingle(ws, WS2, Str) End Sub __________________________________________________ _ |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
'LastRow' Function not working
Range("B0") is not a valid cell reference.
It will have to be a named range if it's going to work. -- Rob van Gelder - http://www.vangelder.co.nz/excel "Randy Reese" wrote in message et... This is basically what I have. It was working at one time. Not sure why now. __________________________________________________ __ Private Sub btnProcess_Click() btnProcess.Enabled = False Call test1 End Sub __________________________________________________ __ Function LastRow(sh As Worksheet) On Error Resume Next LastRow = sh.Cells.Find(What:="*", _ after:=sh.Range("B0"), _ lookat:=xlPart, _ LookIn:=xlValues, _ searchorder:=xlByRows, _ searchdirection:=xlPrevious, _ MatchCase:=False).Row On Error GoTo 0 End Function __________________________________________________ _ Public Sub ProcessSingle1(ws As Worksheet, WS2 As Worksheet, Str As String) Dim LRow As Long LRow = LastRow(WS2) End Sub __________________________________________________ _ Sub test1() ActiveCell.Activate Dim ws As Worksheet Dim WS2 As Worksheet Dim Str As String 'UNSCHEDULED Set ws = Sheets("Unsc.") Set WS2 = Sheets("Print281") Str = "81" Call ProcessSingle(ws, WS2, Str) End Sub __________________________________________________ _ |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
'LastRow' Function not working
This method for finding the last row containing data should start its search
in the A1 cell. What does B0 represent. Is it a name? If so, it should refer to A1. Try replacing B0 with A1. John Green "Randy Reese" wrote in message et... This is basically what I have. It was working at one time. Not sure why now. __________________________________________________ __ Private Sub btnProcess_Click() btnProcess.Enabled = False Call test1 End Sub __________________________________________________ __ Function LastRow(sh As Worksheet) On Error Resume Next LastRow = sh.Cells.Find(What:="*", _ after:=sh.Range("B0"), _ lookat:=xlPart, _ LookIn:=xlValues, _ searchorder:=xlByRows, _ searchdirection:=xlPrevious, _ MatchCase:=False).Row On Error GoTo 0 End Function __________________________________________________ _ Public Sub ProcessSingle1(ws As Worksheet, WS2 As Worksheet, Str As String) Dim LRow As Long LRow = LastRow(WS2) End Sub __________________________________________________ _ Sub test1() ActiveCell.Activate Dim ws As Worksheet Dim WS2 As Worksheet Dim Str As String 'UNSCHEDULED Set ws = Sheets("Unsc.") Set WS2 = Sheets("Print281") Str = "81" Call ProcessSingle(ws, WS2, Str) End Sub __________________________________________________ _ |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
'LastRow' Function not working
Change
after:=sh.Range("B0"), to after:=sh.Range("IV65536"), -- Regards Tom Ogilvy "Randy Reese" wrote in message et... This is basically what I have. It was working at one time. Not sure why now. __________________________________________________ __ Private Sub btnProcess_Click() btnProcess.Enabled = False Call test1 End Sub __________________________________________________ __ Function LastRow(sh As Worksheet) On Error Resume Next LastRow = sh.Cells.Find(What:="*", _ after:=sh.Range("B0"), _ lookat:=xlPart, _ LookIn:=xlValues, _ searchorder:=xlByRows, _ searchdirection:=xlPrevious, _ MatchCase:=False).Row On Error GoTo 0 End Function __________________________________________________ _ Public Sub ProcessSingle1(ws As Worksheet, WS2 As Worksheet, Str As String) Dim LRow As Long LRow = LastRow(WS2) End Sub __________________________________________________ _ Sub test1() ActiveCell.Activate Dim ws As Worksheet Dim WS2 As Worksheet Dim Str As String 'UNSCHEDULED Set ws = Sheets("Unsc.") Set WS2 = Sheets("Print281") Str = "81" Call ProcessSingle(ws, WS2, Str) End Sub __________________________________________________ _ |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Lastrow | Excel Worksheet Functions | |||
Lastrow - function not defined | Excel Discussion (Misc queries) | |||
Lastrow | Excel Worksheet Functions | |||
Go to lastrow using other column's lastrow | Excel Programming | |||
Help with LastRow | Excel Programming |