Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
Hi, i have in a macro this part of the code that delete empty rows:
Dim lRow As Long With Application ..ScreenUpdating = False ..Calculation = xlCalculationManual ..EnableEvents = False For lRow = Cells.Find(What:="*", After:=[A1], _ SearchDirection:=xlPrevious).Row To 1 Step -1 If WorksheetFunction.CountA(Rows(lRow)) = 0 Then Rows(lRow).Delete Next lRow ..ScreenUpdating = True ..Calculation = xlCalculationAutomatic ..EnableEvents = True and then this one: range("A2:A300").Select Selection.ClearContents range("A2").Select range("A2").Select ActiveCell.FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",TODAY())" Selection.AutoFill Destination:=range("A2:A300"), Type:=xlFillDefault range("A2:A300").Select range("A2").Select The problem is that the second part is blocking the first one. i neet to delete empty rows and then to add formula. What am i doing wrong? Thanks! |
#2
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
Delete the line near top that says:
..EnableEvents = True At end of your macro, add the line: Application.EnableEvents = True -- Best Regards, Luke M *Remember to click "yes" if this post helped you!* "puiuluipui" wrote: Hi, i have in a macro this part of the code that delete empty rows: Dim lRow As Long With Application .ScreenUpdating = False .Calculation = xlCalculationManual .EnableEvents = False For lRow = Cells.Find(What:="*", After:=[A1], _ SearchDirection:=xlPrevious).Row To 1 Step -1 If WorksheetFunction.CountA(Rows(lRow)) = 0 Then Rows(lRow).Delete Next lRow .ScreenUpdating = True .Calculation = xlCalculationAutomatic .EnableEvents = True and then this one: range("A2:A300").Select Selection.ClearContents range("A2").Select range("A2").Select ActiveCell.FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",TODAY())" Selection.AutoFill Destination:=range("A2:A300"), Type:=xlFillDefault range("A2:A300").Select range("A2").Select The problem is that the second part is blocking the first one. i neet to delete empty rows and then to add formula. What am i doing wrong? Thanks! |
#3
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
when deleting rows use a Do Loop, not a for loop. The deleting of Rows will
cause a problem with the For loop. Dim lRow As Long With Application .ScreenUpdating = False .Calculation = xlCalculationManual .EnableEvents = False set c = lRow = Cells.Find(What:="*", After:=[A1], _ SearchDirection:=xlPrevious) if not c is nothing then LastRow = c RowCount = LastRow Do while RowCount = 1 If WorksheetFunction.CountA(Rows(Rowcount)) = 0 Then Rows(RowCount).Delete end if RowCount = RowCount - 1 Loop .ScreenUpdating = True .Calculation = xlCalculationAutomatic .EnableEvents = True end with range("A2:A300").ClearContents range("A2").FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",TODAY())" range("A2").AutoFill _ Destination:=range("A2:A300"), _ Type:=xlFillDefault "puiuluipui" wrote: Hi, i have in a macro this part of the code that delete empty rows: Dim lRow As Long With Application .ScreenUpdating = False .Calculation = xlCalculationManual .EnableEvents = False For lRow = Cells.Find(What:="*", After:=[A1], _ SearchDirection:=xlPrevious).Row To 1 Step -1 If WorksheetFunction.CountA(Rows(lRow)) = 0 Then Rows(lRow).Delete Next lRow .ScreenUpdating = True .Calculation = xlCalculationAutomatic .EnableEvents = True and then this one: range("A2:A300").Select Selection.ClearContents range("A2").Select range("A2").Select ActiveCell.FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",TODAY())" Selection.AutoFill Destination:=range("A2:A300"), Type:=xlFillDefault range("A2:A300").Select range("A2").Select The problem is that the second part is blocking the first one. i neet to delete empty rows and then to add formula. What am i doing wrong? Thanks! |
#4
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
Hi Luke, is not working. This is how you said?
The space in the middle is the place from were i removed ".EnableEvents = True" : Dim lRow As Long With Application ..ScreenUpdating = False ..Calculation = xlCalculationManual ..EnableEvents = False For lRow = Cells.Find(What:="*", After:=[A1], _ SearchDirection:=xlPrevious).Row To 1 Step -1 If WorksheetFunction.CountA(Rows(lRow)) = 0 Then Rows(lRow).Delete Next lRow ..ScreenUpdating = True ..Calculation = xlCalculationAutomatic range("A2:A300").Select Selection.ClearContents range("A2").Select range("A2").Select ActiveCell.FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",TODAY())" Selection.AutoFill Destination:=range("A2:A300"), Type:=xlFillDefault range("A2:A300").Select range("A2").Select Application.EnableEvents = True Thanks! "Luke M" wrote: Delete the line near top that says: .EnableEvents = True At end of your macro, add the line: Application.EnableEvents = True -- Best Regards, Luke M *Remember to click "yes" if this post helped you!* "puiuluipui" wrote: Hi, i have in a macro this part of the code that delete empty rows: Dim lRow As Long With Application .ScreenUpdating = False .Calculation = xlCalculationManual .EnableEvents = False For lRow = Cells.Find(What:="*", After:=[A1], _ SearchDirection:=xlPrevious).Row To 1 Step -1 If WorksheetFunction.CountA(Rows(lRow)) = 0 Then Rows(lRow).Delete Next lRow .ScreenUpdating = True .Calculation = xlCalculationAutomatic .EnableEvents = True and then this one: range("A2:A300").Select Selection.ClearContents range("A2").Select range("A2").Select ActiveCell.FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",TODAY())" Selection.AutoFill Destination:=range("A2:A300"), Type:=xlFillDefault range("A2:A300").Select range("A2").Select The problem is that the second part is blocking the first one. i neet to delete empty rows and then to add formula. What am i doing wrong? Thanks! |
#5
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
Hi Joel, i receive this error after i paste your code:
Compile error: End With without with. What is wrong? Thanks! "Joel" wrote: when deleting rows use a Do Loop, not a for loop. The deleting of Rows will cause a problem with the For loop. Dim lRow As Long With Application .ScreenUpdating = False .Calculation = xlCalculationManual .EnableEvents = False set c = lRow = Cells.Find(What:="*", After:=[A1], _ SearchDirection:=xlPrevious) if not c is nothing then LastRow = c RowCount = LastRow Do while RowCount = 1 If WorksheetFunction.CountA(Rows(Rowcount)) = 0 Then Rows(RowCount).Delete end if RowCount = RowCount - 1 Loop .ScreenUpdating = True .Calculation = xlCalculationAutomatic .EnableEvents = True end with range("A2:A300").ClearContents range("A2").FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",TODAY())" range("A2").AutoFill _ Destination:=range("A2:A300"), _ Type:=xlFillDefault "puiuluipui" wrote: Hi, i have in a macro this part of the code that delete empty rows: Dim lRow As Long With Application .ScreenUpdating = False .Calculation = xlCalculationManual .EnableEvents = False For lRow = Cells.Find(What:="*", After:=[A1], _ SearchDirection:=xlPrevious).Row To 1 Step -1 If WorksheetFunction.CountA(Rows(lRow)) = 0 Then Rows(lRow).Delete Next lRow .ScreenUpdating = True .Calculation = xlCalculationAutomatic .EnableEvents = True and then this one: range("A2:A300").Select Selection.ClearContents range("A2").Select range("A2").Select ActiveCell.FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",TODAY())" Selection.AutoFill Destination:=range("A2:A300"), Type:=xlFillDefault range("A2:A300").Select range("A2").Select The problem is that the second part is blocking the first one. i neet to delete empty rows and then to add formula. What am i doing wrong? Thanks! |
#6
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
The deleting of Rows will cause a problem with the For loop.
Not if you use a For loop that loops from the end of the columns of data upward to the beginning of the data (using a Step -1 statement to effect the backward iteration). For example... For X = LastRow To StartRow Step -1 -- Rick (MVP - Excel) "Joel" wrote in message ... when deleting rows use a Do Loop, not a for loop. The deleting of Rows will cause a problem with the For loop. Dim lRow As Long With Application .ScreenUpdating = False .Calculation = xlCalculationManual .EnableEvents = False set c = lRow = Cells.Find(What:="*", After:=[A1], _ SearchDirection:=xlPrevious) if not c is nothing then LastRow = c RowCount = LastRow Do while RowCount = 1 If WorksheetFunction.CountA(Rows(Rowcount)) = 0 Then Rows(RowCount).Delete end if RowCount = RowCount - 1 Loop .ScreenUpdating = True .Calculation = xlCalculationAutomatic .EnableEvents = True end with range("A2:A300").ClearContents range("A2").FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",TODAY())" range("A2").AutoFill _ Destination:=range("A2:A300"), _ Type:=xlFillDefault "puiuluipui" wrote: Hi, i have in a macro this part of the code that delete empty rows: Dim lRow As Long With Application .ScreenUpdating = False .Calculation = xlCalculationManual .EnableEvents = False For lRow = Cells.Find(What:="*", After:=[A1], _ SearchDirection:=xlPrevious).Row To 1 Step -1 If WorksheetFunction.CountA(Rows(lRow)) = 0 Then Rows(lRow).Delete Next lRow .ScreenUpdating = True .Calculation = xlCalculationAutomatic .EnableEvents = True and then this one: range("A2:A300").Select Selection.ClearContents range("A2").Select range("A2").Select ActiveCell.FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",TODAY())" Selection.AutoFill Destination:=range("A2:A300"), Type:=xlFillDefault range("A2:A300").Select range("A2").Select The problem is that the second part is blocking the first one. i neet to delete empty rows and then to add formula. What am i doing wrong? Thanks! |
#7
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
Hi Rick, i really don't know so much vb. So, how can i implement your code?
Thanks! "Rick Rothstein" wrote: The deleting of Rows will cause a problem with the For loop. Not if you use a For loop that loops from the end of the columns of data upward to the beginning of the data (using a Step -1 statement to effect the backward iteration). For example... For X = LastRow To StartRow Step -1 -- Rick (MVP - Excel) "Joel" wrote in message ... when deleting rows use a Do Loop, not a for loop. The deleting of Rows will cause a problem with the For loop. Dim lRow As Long With Application .ScreenUpdating = False .Calculation = xlCalculationManual .EnableEvents = False set c = lRow = Cells.Find(What:="*", After:=[A1], _ SearchDirection:=xlPrevious) if not c is nothing then LastRow = c RowCount = LastRow Do while RowCount = 1 If WorksheetFunction.CountA(Rows(Rowcount)) = 0 Then Rows(RowCount).Delete end if RowCount = RowCount - 1 Loop .ScreenUpdating = True .Calculation = xlCalculationAutomatic .EnableEvents = True end with range("A2:A300").ClearContents range("A2").FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",TODAY())" range("A2").AutoFill _ Destination:=range("A2:A300"), _ Type:=xlFillDefault "puiuluipui" wrote: Hi, i have in a macro this part of the code that delete empty rows: Dim lRow As Long With Application .ScreenUpdating = False .Calculation = xlCalculationManual .EnableEvents = False For lRow = Cells.Find(What:="*", After:=[A1], _ SearchDirection:=xlPrevious).Row To 1 Step -1 If WorksheetFunction.CountA(Rows(lRow)) = 0 Then Rows(lRow).Delete Next lRow .ScreenUpdating = True .Calculation = xlCalculationAutomatic .EnableEvents = True and then this one: range("A2:A300").Select Selection.ClearContents range("A2").Select range("A2").Select ActiveCell.FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",TODAY())" Selection.AutoFill Destination:=range("A2:A300"), Type:=xlFillDefault range("A2:A300").Select range("A2").Select The problem is that the second part is blocking the first one. i neet to delete empty rows and then to add formula. What am i doing wrong? Thanks! |
#8
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
I just left out one end if
Sub Macro1() ' Dim lRow As Long With Application .ScreenUpdating = False .Calculation = xlCalculationManual .EnableEvents = False Set c = lRow = Cells.Find(What:="*", After:=[A1], _ SearchDirection:=xlPrevious) If Not c Is Nothing Then LastRow = c RowCount = LastRow Do While RowCount = 1 If WorksheetFunction.CountA(Rows(RowCount)) = 0 Then Rows(RowCount).Delete End If RowCount = RowCount - 1 Loop .ScreenUpdating = True .Calculation = xlCalculationAutomatic .EnableEvents = True End If End With Range("A2:A300").ClearContents Range("A2").FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",TODAY())" Range("A2").AutoFill _ Destination:=Range("A2:A300"), _ Type:=xlFillDefault End Sub "puiuluipui" wrote: Hi Joel, i receive this error after i paste your code: Compile error: End With without with. What is wrong? Thanks! "Joel" wrote: when deleting rows use a Do Loop, not a for loop. The deleting of Rows will cause a problem with the For loop. Dim lRow As Long With Application .ScreenUpdating = False .Calculation = xlCalculationManual .EnableEvents = False set c = lRow = Cells.Find(What:="*", After:=[A1], _ SearchDirection:=xlPrevious) if not c is nothing then LastRow = c RowCount = LastRow Do while RowCount = 1 If WorksheetFunction.CountA(Rows(Rowcount)) = 0 Then Rows(RowCount).Delete end if RowCount = RowCount - 1 Loop .ScreenUpdating = True .Calculation = xlCalculationAutomatic .EnableEvents = True end with range("A2:A300").ClearContents range("A2").FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",TODAY())" range("A2").AutoFill _ Destination:=range("A2:A300"), _ Type:=xlFillDefault "puiuluipui" wrote: Hi, i have in a macro this part of the code that delete empty rows: Dim lRow As Long With Application .ScreenUpdating = False .Calculation = xlCalculationManual .EnableEvents = False For lRow = Cells.Find(What:="*", After:=[A1], _ SearchDirection:=xlPrevious).Row To 1 Step -1 If WorksheetFunction.CountA(Rows(lRow)) = 0 Then Rows(lRow).Delete Next lRow .ScreenUpdating = True .Calculation = xlCalculationAutomatic .EnableEvents = True and then this one: range("A2:A300").Select Selection.ClearContents range("A2").Select range("A2").Select ActiveCell.FormulaR1C1 = "=IF(ISBLANK(RC[1]),"""",TODAY())" Selection.AutoFill Destination:=range("A2:A300"), Type:=xlFillDefault range("A2:A300").Select range("A2").Select The problem is that the second part is blocking the first one. i neet to delete empty rows and then to add formula. What am i doing wrong? Thanks! |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Macro Help Needed - Excel 2007 - Print Macro with Auto Sort | Excel Worksheet Functions | |||
My excel macro recorder no longer shows up when recording macro | Excel Discussion (Misc queries) | |||
using a cell value to control a counter inside a macro and displaying macro value | Excel Worksheet Functions | |||
Macro needed to Paste Values and prevent Macro operation | Excel Discussion (Misc queries) |