ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   code skips blanks in data (https://www.excelbanter.com/excel-programming/342339-code-skips-blanks-data.html)

Alan M

code skips blanks in data
 
Hi I am using the following code to re-format a spreadsheet . It is desigend
to move data on a stock item from a two row display to a single row for each
item. The code below does this generally, but if there are blank fields in
the data ithe cells are skipped. I think there is a problem with the
Selection(0).End(xlDown)(2).Select l.....part of the code

and the 'With Selection' step does not run and so the counter for the i
variable does not register. Hence when the end of the column is reached there
is an error message. Can anyone figure this out and help please


Sub Movem()
'
' Movem Macro
' Macro recorded 25/01/2005 by dannys
'
' Keyboard Shortcut: Ctrl+m


Dim i As Integer: i = 1
Dim rng As Range
Dim rows As Integer
Dim c As Integer


Set rng = ActiveSheet.UsedRange.rows
rows = rng.Count


For c = 1 To 11 Step 2

Cells(6, c).Select
Do Until i = (rows - 6) / 2

With Selection
Selection.Cut Destination:=ActiveCell.Offset(-1, 1)
Selection(0).End(xlDown)(2).Select
End With

i = i + 1

Loop

With Selection
Selection.Cut Destination:=ActiveCell.Offset(-1, 1)

End With

i = 1

Next c


End Sub

Ian

code skips blanks in data
 
Try replacing the problem line with:

ActiveCell.Offset(rowOffset:=2, columnOffset:=0).Activate

--
Ian
--
"Alan M" wrote in message
...
Hi I am using the following code to re-format a spreadsheet . It is
desigend
to move data on a stock item from a two row display to a single row for
each
item. The code below does this generally, but if there are blank fields in
the data ithe cells are skipped. I think there is a problem with the
Selection(0).End(xlDown)(2).Select l.....part of the code

and the 'With Selection' step does not run and so the counter for the i
variable does not register. Hence when the end of the column is reached
there
is an error message. Can anyone figure this out and help please


Sub Movem()
'
' Movem Macro
' Macro recorded 25/01/2005 by dannys
'
' Keyboard Shortcut: Ctrl+m


Dim i As Integer: i = 1
Dim rng As Range
Dim rows As Integer
Dim c As Integer


Set rng = ActiveSheet.UsedRange.rows
rows = rng.Count


For c = 1 To 11 Step 2

Cells(6, c).Select
Do Until i = (rows - 6) / 2

With Selection
Selection.Cut Destination:=ActiveCell.Offset(-1, 1)
Selection(0).End(xlDown)(2).Select
End With

i = i + 1

Loop

With Selection
Selection.Cut Destination:=ActiveCell.Offset(-1, 1)

End With

i = 1

Next c


End Sub





All times are GMT +1. The time now is 09:17 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com