ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Charts and Charting in Excel (https://www.excelbanter.com/charts-charting-excel/)
-   -   Everything works...but can't get it to Loop (https://www.excelbanter.com/charts-charting-excel/123883-everything-works-but-cant-get-loop.html)

PBnJGang

Everything works...but can't get it to Loop
 
I have been able to get everything to do what I need it to do, but when I
added the Do...Until Loop it gets hung up.

Here is what I have so far:

# Dim aRange As Range
# Set aRange = ActiveCell
#
#
# 'Do Until ActiveCell.Value = ""
# ActiveCell.Select
# Selection.Cut
# aRange.Offset([3], [-1]).Select 'When I add the Do Loop it gets stuck
here!
# ActiveSheet.Paste
# ActiveCell.Copy
#
# aRange.Offset([0], [1]).Select
# Selection.End(xlDown).Offset([0], [-1]).Select
# ActiveSheet.Paste
# Application.CutCopyMode = False
# ActiveCell.Select
# Range(Selection, Selection.End(xlUp)).Select
# Selection.FillUp
# ActiveCell.Select
# Selection.End(xlDown).Select
# ActiveCell.Select
# Selection.Offset([4], [1]).Select
# 'Loop
#
# End Sub

Any suggestions??? Also, if any of this code can be cleaned up feel free to
offer ideas!

Thanks in advance

Jon Peltier

Everything works...but can't get it to Loop
 
1. Why do you have brackets around the numbers in your Offsets?
2. Move "Set aRange = ActiveCell" inside the Do loop (right after Do Until)
3. You should try to adjust the code so you aren't selecting cells and
changing the selection and so forth. For example:

# ActiveCell.Select
# Selection.Cut
# aRange.Offset([3], [-1]).Select 'When I add the Do Loop it gets
stuck here!
# ActiveSheet.Paste


becomes

aRange.Cut aRange.Offset(3, -1)

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Tutorials and Custom Solutions
http://PeltierTech.com
_______

"PBnJGang" wrote in message
...
I have been able to get everything to do what I need it to do, but when I
added the Do...Until Loop it gets hung up.

Here is what I have so far:

# Dim aRange As Range
# Set aRange = ActiveCell
#
#
# 'Do Until ActiveCell.Value = ""
# ActiveCell.Select
# Selection.Cut
# aRange.Offset([3], [-1]).Select 'When I add the Do Loop it gets
stuck
here!
# ActiveSheet.Paste
# ActiveCell.Copy
#
# aRange.Offset([0], [1]).Select
# Selection.End(xlDown).Offset([0], [-1]).Select
# ActiveSheet.Paste
# Application.CutCopyMode = False
# ActiveCell.Select
# Range(Selection, Selection.End(xlUp)).Select
# Selection.FillUp
# ActiveCell.Select
# Selection.End(xlDown).Select
# ActiveCell.Select
# Selection.Offset([4], [1]).Select
# 'Loop
#
# End Sub

Any suggestions??? Also, if any of this code can be cleaned up feel free
to
offer ideas!

Thanks in advance




PBnJGang

Everything works...but can't get it to Loop
 
Jon,

Thank you very much! moving the Set statement inside the loop did the trick.
I am using the brackets to indicate a cell relative to the active cell. Is
there another/better way to do this?
I knew all of the selecting wasn't necessary, but since I'm relatively new
to vba I couldn't get it to do what I wanted any other way. I'll try what
you suggested.

Thanks again!

"Jon Peltier" wrote:

1. Why do you have brackets around the numbers in your Offsets?
2. Move "Set aRange = ActiveCell" inside the Do loop (right after Do Until)
3. You should try to adjust the code so you aren't selecting cells and
changing the selection and so forth. For example:

# ActiveCell.Select
# Selection.Cut
# aRange.Offset([3], [-1]).Select 'When I add the Do Loop it gets
stuck here!
# ActiveSheet.Paste


becomes

aRange.Cut aRange.Offset(3, -1)

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Tutorials and Custom Solutions
http://PeltierTech.com
_______

"PBnJGang" wrote in message
...
I have been able to get everything to do what I need it to do, but when I
added the Do...Until Loop it gets hung up.

Here is what I have so far:

# Dim aRange As Range
# Set aRange = ActiveCell
#
#
# 'Do Until ActiveCell.Value = ""
# ActiveCell.Select
# Selection.Cut
# aRange.Offset([3], [-1]).Select 'When I add the Do Loop it gets
stuck
here!
# ActiveSheet.Paste
# ActiveCell.Copy
#
# aRange.Offset([0], [1]).Select
# Selection.End(xlDown).Offset([0], [-1]).Select
# ActiveSheet.Paste
# Application.CutCopyMode = False
# ActiveCell.Select
# Range(Selection, Selection.End(xlUp)).Select
# Selection.FillUp
# ActiveCell.Select
# Selection.End(xlDown).Select
# ActiveCell.Select
# Selection.Offset([4], [1]).Select
# 'Loop
#
# End Sub

Any suggestions??? Also, if any of this code can be cleaned up feel free
to
offer ideas!

Thanks in advance





Jon Peltier

Everything works...but can't get it to Loop
 
I am using the brackets to indicate a cell relative to the active cell.
Is
there another/better way to do this?


Offset does this anyway, but with respect to the range it's attached to. The
brackets do nothing.

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Tutorials and Custom Solutions
http://PeltierTech.com
_______


"PBnJGang" wrote in message
...
Jon,

Thank you very much! moving the Set statement inside the loop did the
trick.
I am using the brackets to indicate a cell relative to the active cell.
Is
there another/better way to do this?
I knew all of the selecting wasn't necessary, but since I'm relatively new
to vba I couldn't get it to do what I wanted any other way. I'll try what
you suggested.

Thanks again!

"Jon Peltier" wrote:

1. Why do you have brackets around the numbers in your Offsets?
2. Move "Set aRange = ActiveCell" inside the Do loop (right after Do
Until)
3. You should try to adjust the code so you aren't selecting cells and
changing the selection and so forth. For example:

# ActiveCell.Select
# Selection.Cut
# aRange.Offset([3], [-1]).Select 'When I add the Do Loop it gets
stuck here!
# ActiveSheet.Paste


becomes

aRange.Cut aRange.Offset(3, -1)

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Tutorials and Custom Solutions
http://PeltierTech.com
_______

"PBnJGang" wrote in message
...
I have been able to get everything to do what I need it to do, but when
I
added the Do...Until Loop it gets hung up.

Here is what I have so far:

# Dim aRange As Range
# Set aRange = ActiveCell
#
#
# 'Do Until ActiveCell.Value = ""
# ActiveCell.Select
# Selection.Cut
# aRange.Offset([3], [-1]).Select 'When I add the Do Loop it gets
stuck
here!
# ActiveSheet.Paste
# ActiveCell.Copy
#
# aRange.Offset([0], [1]).Select
# Selection.End(xlDown).Offset([0], [-1]).Select
# ActiveSheet.Paste
# Application.CutCopyMode = False
# ActiveCell.Select
# Range(Selection, Selection.End(xlUp)).Select
# Selection.FillUp
# ActiveCell.Select
# Selection.End(xlDown).Select
# ActiveCell.Select
# Selection.Offset([4], [1]).Select
# 'Loop
#
# End Sub

Any suggestions??? Also, if any of this code can be cleaned up feel
free
to
offer ideas!

Thanks in advance








All times are GMT +1. The time now is 02:05 PM.

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