If row 2

J

Judy Ward

The code I have (below) does what I want it to do--searches for the cell that
has more than 255 characters, then cuts and pastes that row to the top of the
spreadsheet (row 2). But it throws an error when it finds the cell in row 2
and tries to cut and insert itself.

I want to put in a condition to test if row 2 (because no action is needed),
but I can't figure out how to do it. Can anyone help?

Private Sub FindMemoRow()
Dim Lcell As Range
For Each Lcell In Range("L:L")
' Looking for a cell with more than 255 characters
If Len(Lcell) > 255 Then
Range(Lcell.Address).Select
Selection.EntireRow.Select
Selection.Cut
Rows("2:2").Select
Selection.Insert Shift:=xlDown
Exit Sub
End If
Next Lcell
End Sub

Thank you,
Judy
 
M

Mike H

Try this

Private Sub FindMemoRow()
Dim Lcell As Range
For Each Lcell In Range("L:L")
If Lcell.Row <> (2) Then

If Len(Lcell) > 255 Then
Range(Lcell.Address).Select
Selection.EntireRow.Select
Selection.Cut
Rows("2:2").Select
Selection.Insert Shift:=xlDown
Exit Sub
End If
End If
Next Lcell
End Sub


Mike
 
P

PCLIVE

Do you really need to look at each of the 65,536 cells in column L? Why not
give it a specific range in which I'm assuming you'd want to start at L3?

Private Sub FindMemoRow()
Dim Lcell As Range
For Each Lcell In Range("L3:L" & Range("L65536").End(xlUp).Row)
' Looking for a cell with more than 255 characters
If Len(Lcell) > 255 Then
Range(Lcell.Address).EntireRow.Cut
Range("A2").EntireRow.Select
Selection.Insert Shift:=xlDown
Exit Sub
End If
Next Lcell
End Sub


HTH,
Paul
 
J

Judy Ward

Thank you both, Mike H and PCLIVE, for responding. These are both very
useful suggestions. My problem is solved.

Thank you again,
Judy
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top