View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Don Guillett[_2_] Don Guillett[_2_] is offline
external usenet poster
 
Posts: 1,522
Default VBA - Insert row, copy contents of original row except forcontents of column A

On Feb 21, 7:28*am, Don Guillett wrote:
On Feb 20, 5:19*pm, Royzer wrote:







Hi. I am using the code below to insert a row by double-clicking a cell..
The code then copies formulas (and apparently dates) from the original
row to the new row. Is there any way for me to adjust this code so the
cell in column A is blank after the insert? If so, I need it to work
like this for all 30+ pages of the workbook. Here's the code I have in
ThisWorkbook:


Code:
--------------------


* Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
* 'David McRitchie, *2007-09-07 * *insrtrow.htm on double-click
* '-- will copy more often than *Extend Formulas and Format (tools option)
* Cancel = True
* Target.EntireRow.Copy
* Cells(Target.Row + 1, 1).EntireRow.Insert
* Cells(Target.Row + 1, 1).EntireRow.Select
* ActiveSheet.Paste
* Application.CutCopyMode = False
* On Error Resume Next
* '-- customize range for what cells constants can be removed --
* Intersect(Selection, Range("b:IV")).SpecialCells(xlConstants).ClearCont ents
* On Error GoTo 0
* End Sub


--------------------


Thanks!


--
Royzer


I think thisis what you want.

Private Sub Worksheet_BeforeDoubleClick _
(ByVal Target As Range, Cancel As Boolean)
'SAS Copies targetrow and clears columns b
Application.ScreenUpdating = False
With Target
Rows(.Row + 1).Insert
Rows(.Row).Copy .Offset(1)
Cells(.Row + 1, 2).Resize(, 255).ClearContents
*.Offset(1, 1).Select
End With
Application.ScreenUpdating = True
End Sub


Should have been this in the ThisWorkbook module
restricted to a double click ONLY in column A

Private Sub Workbook_SheetBeforeDoubleClick _
(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

If Target.Column < 1 Then Exit Sub
Application.ScreenUpdating = False
With Target
Rows(.Row + 1).Insert
Rows(.Row).Copy .Offset(1)
Cells(.Row + 1, 2).Resize(, 255).ClearContents
..Offset(1, 1).Select
End With
Application.ScreenUpdating = True
End Sub