![]() |
Insert row on change of field - with input selection - not whole column
Sub ModifiedTest()
Dim myRow As Long Dim StrtRow As Long Dim myCol As Integer Dim myRange As Range Set myRange = Application.InputBox( _ Prompt:=Prompt, _ Title:=Title, _ Default:=ActiveCell.Address, _ Type:=8) 'Range selection myCol = myRange.Column StrtRow = myRange(65536).End(xlUp).Row For myRow = StrtRow To 2 Step -1 If Cells(myRow, myCol).Value < Cells(myRow - 1, myCol).Value Then Cells(myRow, myCol).EntireRow.Insert End If Next myRow End Sub What wrong with my range - I want only a selection from a column.or can somebody propose me an alternative macro to make it work for a selection in a column only. Thxs Original code is as per below: Sub TryNow() Dim myRow As Long Dim StrtRow As Long Dim myCol As Integer Dim myRange As Range Set myRange = Range("D:D") myCol = myRange.Column StrtRow = myRange(65536).End(xlUp).Row For myRow = StrtRow To 2 Step -1 If Cells(myRow, myCol).Value < Cells(myRow - 1, myCol).Value Then Cells(myRow, myCol).EntireRow.Insert End If Next myRow End Sub |
Insert row on change of field - with input selection - not whole c
Hi,
Try: StrtRow = Cells(Rows.Count, myCol).End(xlUp).Row HTH "al007" wrote: Sub ModifiedTest() Dim myRow As Long Dim StrtRow As Long Dim myCol As Integer Dim myRange As Range Set myRange = Application.InputBox( _ Prompt:=Prompt, _ Title:=Title, _ Default:=ActiveCell.Address, _ Type:=8) 'Range selection myCol = myRange.Column StrtRow = myRange(65536).End(xlUp).Row For myRow = StrtRow To 2 Step -1 If Cells(myRow, myCol).Value < Cells(myRow - 1, myCol).Value Then Cells(myRow, myCol).EntireRow.Insert End If Next myRow End Sub What wrong with my range - I want only a selection from a column.or can somebody propose me an alternative macro to make it work for a selection in a column only. Thxs Original code is as per below: Sub TryNow() Dim myRow As Long Dim StrtRow As Long Dim myCol As Integer Dim myRange As Range Set myRange = Range("D:D") myCol = myRange.Column StrtRow = myRange(65536).End(xlUp).Row For myRow = StrtRow To 2 Step -1 If Cells(myRow, myCol).Value < Cells(myRow - 1, myCol).Value Then Cells(myRow, myCol).EntireRow.Insert End If Next myRow End Sub |
All times are GMT +1. The time now is 05:34 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com