Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 246
Default Resize Problem

I have this code which errors on the resize line

Cells.Find(what:="Pending", after:=ActiveCell, LookIn:=xlFormulas,
lookat:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:=False _
, SearchFormat:=False).Activate

ActiveCell.Resize(0, 1).Select
Selection.EntireColumn.Cut
ActiveCell.Offset(0, 1).Select
Selection.Insert Shift:=xlToRight

What the desired result is, look for cell with "Pending", select that
cell and the one to the right, cut both those columns and move them one
to the right. TIA

Greg

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Resize Problem

The .resize(0,1) says to resize that single cell to a range of 0 rows by 1
column. That doesn't exist. Maybe you meant .resize(1,2) (one row by 2
columns???)

I think I'd add just a bit of a check:

Dim FoundCell As Range

Set FoundCell = Cells.Find(what:="Pending", after:=ActiveCell, _
LookIn:=xlFormulas, lookat:=xlWhole, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)

If FoundCell Is Nothing Then
MsgBox "not found"
Else
If FoundCell.Column = ActiveSheet.Columns.Count Then
MsgBox "nothing to the right!"
Else
FoundCell.Resize(1, 2).EntireColumn.Cut
FoundCell.Offset(0, 3).EntireColumn.Insert Shift:=xlToRight
End If
End If

And I think you meant .offset(0,3) for the insertion, too.

But test it to see if it does what you want.

GregR wrote:

I have this code which errors on the resize line

Cells.Find(what:="Pending", after:=ActiveCell, LookIn:=xlFormulas,
lookat:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:=False _
, SearchFormat:=False).Activate

ActiveCell.Resize(0, 1).Select
Selection.EntireColumn.Cut
ActiveCell.Offset(0, 1).Select
Selection.Insert Shift:=xlToRight

What the desired result is, look for cell with "Pending", select that
cell and the one to the right, cut both those columns and move them one
to the right. TIA

Greg


--

Dave Peterson
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 246
Default Resize Problem

Dave, I'm glad someone knows what I want. One more question, when I
record a macro
after every recorded line, I get a line

Application.run "Update"

What is that and how do I stop it. TIA

Greg
Dave Peterson wrote:
The .resize(0,1) says to resize that single cell to a range of 0 rows by 1
column. That doesn't exist. Maybe you meant .resize(1,2) (one row by 2
columns???)

I think I'd add just a bit of a check:

Dim FoundCell As Range

Set FoundCell = Cells.Find(what:="Pending", after:=ActiveCell, _
LookIn:=xlFormulas, lookat:=xlWhole, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)

If FoundCell Is Nothing Then
MsgBox "not found"
Else
If FoundCell.Column = ActiveSheet.Columns.Count Then
MsgBox "nothing to the right!"
Else
FoundCell.Resize(1, 2).EntireColumn.Cut
FoundCell.Offset(0, 3).EntireColumn.Insert Shift:=xlToRight
End If
End If

And I think you meant .offset(0,3) for the insertion, too.

But test it to see if it does what you want.

GregR wrote:

I have this code which errors on the resize line

Cells.Find(what:="Pending", after:=ActiveCell, LookIn:=xlFormulas,
lookat:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:=False _
, SearchFormat:=False).Activate

ActiveCell.Resize(0, 1).Select
Selection.EntireColumn.Cut
ActiveCell.Offset(0, 1).Select
Selection.Insert Shift:=xlToRight

What the desired result is, look for cell with "Pending", select that
cell and the one to the right, cut both those columns and move them one
to the right. TIA

Greg


--

Dave Peterson


  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Resize Problem

Are you running a macro called Update (maybe by clicking a button or from a
toolbar)??

If you are, then stop recording before you click that button.



GregR wrote:

Dave, I'm glad someone knows what I want. One more question, when I
record a macro
after every recorded line, I get a line

Application.run "Update"

What is that and how do I stop it. TIA

Greg
Dave Peterson wrote:
The .resize(0,1) says to resize that single cell to a range of 0 rows by 1
column. That doesn't exist. Maybe you meant .resize(1,2) (one row by 2
columns???)

I think I'd add just a bit of a check:

Dim FoundCell As Range

Set FoundCell = Cells.Find(what:="Pending", after:=ActiveCell, _
LookIn:=xlFormulas, lookat:=xlWhole, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)

If FoundCell Is Nothing Then
MsgBox "not found"
Else
If FoundCell.Column = ActiveSheet.Columns.Count Then
MsgBox "nothing to the right!"
Else
FoundCell.Resize(1, 2).EntireColumn.Cut
FoundCell.Offset(0, 3).EntireColumn.Insert Shift:=xlToRight
End If
End If

And I think you meant .offset(0,3) for the insertion, too.

But test it to see if it does what you want.

GregR wrote:

I have this code which errors on the resize line

Cells.Find(what:="Pending", after:=ActiveCell, LookIn:=xlFormulas,
lookat:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:=False _
, SearchFormat:=False).Activate

ActiveCell.Resize(0, 1).Select
Selection.EntireColumn.Cut
ActiveCell.Offset(0, 1).Select
Selection.Insert Shift:=xlToRight

What the desired result is, look for cell with "Pending", select that
cell and the one to the right, cut both those columns and move them one
to the right. TIA

Greg


--

Dave Peterson


--

Dave Peterson
  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 246
Default Resize Problem

Dave, I do have a macro called Update, but I have not set it in motion
or clicked a button to activate it, not sure what is happening.

Greg
Dave Peterson wrote:
Are you running a macro called Update (maybe by clicking a button or from a
toolbar)??

If you are, then stop recording before you click that button.



GregR wrote:

Dave, I'm glad someone knows what I want. One more question, when I
record a macro
after every recorded line, I get a line

Application.run "Update"

What is that and how do I stop it. TIA

Greg
Dave Peterson wrote:
The .resize(0,1) says to resize that single cell to a range of 0 rows by 1
column. That doesn't exist. Maybe you meant .resize(1,2) (one row by 2
columns???)

I think I'd add just a bit of a check:

Dim FoundCell As Range

Set FoundCell = Cells.Find(what:="Pending", after:=ActiveCell, _
LookIn:=xlFormulas, lookat:=xlWhole, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)

If FoundCell Is Nothing Then
MsgBox "not found"
Else
If FoundCell.Column = ActiveSheet.Columns.Count Then
MsgBox "nothing to the right!"
Else
FoundCell.Resize(1, 2).EntireColumn.Cut
FoundCell.Offset(0, 3).EntireColumn.Insert Shift:=xlToRight
End If
End If

And I think you meant .offset(0,3) for the insertion, too.

But test it to see if it does what you want.

GregR wrote:

I have this code which errors on the resize line

Cells.Find(what:="Pending", after:=ActiveCell, LookIn:=xlFormulas,
lookat:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:=False _
, SearchFormat:=False).Activate

ActiveCell.Resize(0, 1).Select
Selection.EntireColumn.Cut
ActiveCell.Offset(0, 1).Select
Selection.Insert Shift:=xlToRight

What the desired result is, look for cell with "Pending", select that
cell and the one to the right, cut both those columns and move them one
to the right. TIA

Greg

--

Dave Peterson


--

Dave Peterson




  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 246
Default Resize Problem

Dave, another small problem, I have this formula that finds the
intersection of a row/col and returns a value. I want to move the value
at this address one column to the right. It is part of this macro
above. How do I do it or what is the VBA solution? The formula is:

Index($A$1:$A$Z100,Match("Cap",A1:A100,0),match(da tevalue("5/1/2006"),A1:AZ1,0)).
TIA

Greg

GregR wrote:
Dave, I do have a macro called Update, but I have not set it in motion
or clicked a button to activate it, not sure what is happening.

Greg
Dave Peterson wrote:
Are you running a macro called Update (maybe by clicking a button or from a
toolbar)??

If you are, then stop recording before you click that button.



GregR wrote:

Dave, I'm glad someone knows what I want. One more question, when I
record a macro
after every recorded line, I get a line

Application.run "Update"

What is that and how do I stop it. TIA

Greg
Dave Peterson wrote:
The .resize(0,1) says to resize that single cell to a range of 0 rows by 1
column. That doesn't exist. Maybe you meant .resize(1,2) (one row by 2
columns???)

I think I'd add just a bit of a check:

Dim FoundCell As Range

Set FoundCell = Cells.Find(what:="Pending", after:=ActiveCell, _
LookIn:=xlFormulas, lookat:=xlWhole, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)

If FoundCell Is Nothing Then
MsgBox "not found"
Else
If FoundCell.Column = ActiveSheet.Columns.Count Then
MsgBox "nothing to the right!"
Else
FoundCell.Resize(1, 2).EntireColumn.Cut
FoundCell.Offset(0, 3).EntireColumn.Insert Shift:=xlToRight
End If
End If

And I think you meant .offset(0,3) for the insertion, too.

But test it to see if it does what you want.

GregR wrote:

I have this code which errors on the resize line

Cells.Find(what:="Pending", after:=ActiveCell, LookIn:=xlFormulas,
lookat:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:=False _
, SearchFormat:=False).Activate

ActiveCell.Resize(0, 1).Select
Selection.EntireColumn.Cut
ActiveCell.Offset(0, 1).Select
Selection.Insert Shift:=xlToRight

What the desired result is, look for cell with "Pending", select that
cell and the one to the right, cut both those columns and move them one
to the right. TIA

Greg

--

Dave Peterson


--

Dave Peterson


  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 56
Default Resize Problem

Is it perhaps running in one of your worksheet/workbook events - for
instance Worksheet_SelectionChange or something similar?

Jeff

"GregR" wrote in message
oups.com...
Dave, I do have a macro called Update, but I have not set it in motion
or clicked a button to activate it, not sure what is happening.

Greg
Dave Peterson wrote:
Are you running a macro called Update (maybe by clicking a button or from
a
toolbar)??

If you are, then stop recording before you click that button.



GregR wrote:

Dave, I'm glad someone knows what I want. One more question, when I
record a macro
after every recorded line, I get a line

Application.run "Update"

What is that and how do I stop it. TIA

Greg
Dave Peterson wrote:
The .resize(0,1) says to resize that single cell to a range of 0 rows
by 1
column. That doesn't exist. Maybe you meant .resize(1,2) (one row
by 2
columns???)

I think I'd add just a bit of a check:

Dim FoundCell As Range

Set FoundCell = Cells.Find(what:="Pending", after:=ActiveCell, _
LookIn:=xlFormulas, lookat:=xlWhole, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)

If FoundCell Is Nothing Then
MsgBox "not found"
Else
If FoundCell.Column = ActiveSheet.Columns.Count Then
MsgBox "nothing to the right!"
Else
FoundCell.Resize(1, 2).EntireColumn.Cut
FoundCell.Offset(0, 3).EntireColumn.Insert Shift:=xlToRight
End If
End If

And I think you meant .offset(0,3) for the insertion, too.

But test it to see if it does what you want.

GregR wrote:

I have this code which errors on the resize line

Cells.Find(what:="Pending", after:=ActiveCell, LookIn:=xlFormulas,
lookat:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:=False _
, SearchFormat:=False).Activate

ActiveCell.Resize(0, 1).Select
Selection.EntireColumn.Cut
ActiveCell.Offset(0, 1).Select
Selection.Insert Shift:=xlToRight

What the desired result is, look for cell with "Pending", select
that
cell and the one to the right, cut both those columns and move them
one
to the right. TIA

Greg

--

Dave Peterson


--

Dave Peterson




  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 246
Default Resize Problem

Jeff, I don't see any WS/WB events in the WB, but it is a good point.
I'll check next time I record a macro. Thanks

Greg

Jeff Standen wrote:
Is it perhaps running in one of your worksheet/workbook events - for
instance Worksheet_SelectionChange or something similar?

Jeff

"GregR" wrote in message
oups.com...
Dave, I do have a macro called Update, but I have not set it in motion
or clicked a button to activate it, not sure what is happening.

Greg
Dave Peterson wrote:
Are you running a macro called Update (maybe by clicking a button or from
a
toolbar)??

If you are, then stop recording before you click that button.



GregR wrote:

Dave, I'm glad someone knows what I want. One more question, when I
record a macro
after every recorded line, I get a line

Application.run "Update"

What is that and how do I stop it. TIA

Greg
Dave Peterson wrote:
The .resize(0,1) says to resize that single cell to a range of 0 rows
by 1
column. That doesn't exist. Maybe you meant .resize(1,2) (one row
by 2
columns???)

I think I'd add just a bit of a check:

Dim FoundCell As Range

Set FoundCell = Cells.Find(what:="Pending", after:=ActiveCell, _
LookIn:=xlFormulas, lookat:=xlWhole, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)

If FoundCell Is Nothing Then
MsgBox "not found"
Else
If FoundCell.Column = ActiveSheet.Columns.Count Then
MsgBox "nothing to the right!"
Else
FoundCell.Resize(1, 2).EntireColumn.Cut
FoundCell.Offset(0, 3).EntireColumn.Insert Shift:=xlToRight
End If
End If

And I think you meant .offset(0,3) for the insertion, too.

But test it to see if it does what you want.

GregR wrote:

I have this code which errors on the resize line

Cells.Find(what:="Pending", after:=ActiveCell, LookIn:=xlFormulas,
lookat:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:=False _
, SearchFormat:=False).Activate

ActiveCell.Resize(0, 1).Select
Selection.EntireColumn.Cut
ActiveCell.Offset(0, 1).Select
Selection.Insert Shift:=xlToRight

What the desired result is, look for cell with "Pending", select
that
cell and the one to the right, cut both those columns and move them
one
to the right. TIA

Greg

--

Dave Peterson

--

Dave Peterson



  #9   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Resize Problem

You want to move the value that's returned in that =index() formula one cell to
the right of where it was found?

dim myRow as variant 'may return an error
dim myCol as variant

with worksheets("whateverthenameishere")
myrow = application.match("cap", .range("a1:a100"),0)
mycol = application.match(clng(dateserial(2006,5,1)),.rang e("a1:az1"),0)

if iserror(myrow) _
or iserror(mycol) then
msgbox "missing at least one match!"
else
.cells(myrow,mycol+1).value = .cells(myrow,mycol).value
end if
end with

(Untested, uncompiled. Watch out for typos.)


GregR wrote:

Dave, another small problem, I have this formula that finds the
intersection of a row/col and returns a value. I want to move the value
at this address one column to the right. It is part of this macro
above. How do I do it or what is the VBA solution? The formula is:

Index($A$1:$A$Z100,Match("Cap",A1:A100,0),match(da tevalue("5/1/2006"),A1:AZ1,0)).
TIA

Greg

GregR wrote:
Dave, I do have a macro called Update, but I have not set it in motion
or clicked a button to activate it, not sure what is happening.

Greg
Dave Peterson wrote:
Are you running a macro called Update (maybe by clicking a button or from a
toolbar)??

If you are, then stop recording before you click that button.



GregR wrote:

Dave, I'm glad someone knows what I want. One more question, when I
record a macro
after every recorded line, I get a line

Application.run "Update"

What is that and how do I stop it. TIA

Greg
Dave Peterson wrote:
The .resize(0,1) says to resize that single cell to a range of 0 rows by 1
column. That doesn't exist. Maybe you meant .resize(1,2) (one row by 2
columns???)

I think I'd add just a bit of a check:

Dim FoundCell As Range

Set FoundCell = Cells.Find(what:="Pending", after:=ActiveCell, _
LookIn:=xlFormulas, lookat:=xlWhole, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)

If FoundCell Is Nothing Then
MsgBox "not found"
Else
If FoundCell.Column = ActiveSheet.Columns.Count Then
MsgBox "nothing to the right!"
Else
FoundCell.Resize(1, 2).EntireColumn.Cut
FoundCell.Offset(0, 3).EntireColumn.Insert Shift:=xlToRight
End If
End If

And I think you meant .offset(0,3) for the insertion, too.

But test it to see if it does what you want.

GregR wrote:

I have this code which errors on the resize line

Cells.Find(what:="Pending", after:=ActiveCell, LookIn:=xlFormulas,
lookat:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:=False _
, SearchFormat:=False).Activate

ActiveCell.Resize(0, 1).Select
Selection.EntireColumn.Cut
ActiveCell.Offset(0, 1).Select
Selection.Insert Shift:=xlToRight

What the desired result is, look for cell with "Pending", select that
cell and the one to the right, cut both those columns and move them one
to the right. TIA

Greg

--

Dave Peterson

--

Dave Peterson


--

Dave Peterson
  #10   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 246
Default Resize Problem

Dave, just to clarify. The formula is actually in another cell and
returns the intersection value. I want to move the value at the
intersection to the right, not where the returned formula is located.
TIA

Greg

GregR wrote:
Dave, another small problem, I have this formula that finds the
intersection of a row/col and returns a value. I want to move the value
at this address one column to the right. It is part of this macro
above. How do I do it or what is the VBA solution? The formula is:

Index($A$1:$A$Z100,Match("Cap",A1:A100,0),match(da tevalue("5/1/2006"),A1:AZ1,0)).
TIA

Greg

GregR wrote:
Dave, I do have a macro called Update, but I have not set it in motion
or clicked a button to activate it, not sure what is happening.

Greg
Dave Peterson wrote:
Are you running a macro called Update (maybe by clicking a button or from a
toolbar)??

If you are, then stop recording before you click that button.



GregR wrote:

Dave, I'm glad someone knows what I want. One more question, when I
record a macro
after every recorded line, I get a line

Application.run "Update"

What is that and how do I stop it. TIA

Greg
Dave Peterson wrote:
The .resize(0,1) says to resize that single cell to a range of 0 rows by 1
column. That doesn't exist. Maybe you meant .resize(1,2) (one row by 2
columns???)

I think I'd add just a bit of a check:

Dim FoundCell As Range

Set FoundCell = Cells.Find(what:="Pending", after:=ActiveCell, _
LookIn:=xlFormulas, lookat:=xlWhole, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)

If FoundCell Is Nothing Then
MsgBox "not found"
Else
If FoundCell.Column = ActiveSheet.Columns.Count Then
MsgBox "nothing to the right!"
Else
FoundCell.Resize(1, 2).EntireColumn.Cut
FoundCell.Offset(0, 3).EntireColumn.Insert Shift:=xlToRight
End If
End If

And I think you meant .offset(0,3) for the insertion, too.

But test it to see if it does what you want.

GregR wrote:

I have this code which errors on the resize line

Cells.Find(what:="Pending", after:=ActiveCell, LookIn:=xlFormulas,
lookat:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:=False _
, SearchFormat:=False).Activate

ActiveCell.Resize(0, 1).Select
Selection.EntireColumn.Cut
ActiveCell.Offset(0, 1).Select
Selection.Insert Shift:=xlToRight

What the desired result is, look for cell with "Pending", select that
cell and the one to the right, cut both those columns and move them one
to the right. TIA

Greg

--

Dave Peterson

--

Dave Peterson




  #11   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Resize Problem

That code actually copied the value--it didn't clear out the original cell.

If you want to clear out the original cell, add a line after this:

..cells(myrow,mycol+1).value = .cells(myrow,mycol).value
..cells(myrow,mycol).value = ""




GregR wrote:

Dave, just to clarify. The formula is actually in another cell and
returns the intersection value. I want to move the value at the
intersection to the right, not where the returned formula is located.
TIA

Greg

GregR wrote:
Dave, another small problem, I have this formula that finds the
intersection of a row/col and returns a value. I want to move the value
at this address one column to the right. It is part of this macro
above. How do I do it or what is the VBA solution? The formula is:

Index($A$1:$A$Z100,Match("Cap",A1:A100,0),match(da tevalue("5/1/2006"),A1:AZ1,0)).
TIA

Greg

GregR wrote:
Dave, I do have a macro called Update, but I have not set it in motion
or clicked a button to activate it, not sure what is happening.

Greg
Dave Peterson wrote:
Are you running a macro called Update (maybe by clicking a button or from a
toolbar)??

If you are, then stop recording before you click that button.



GregR wrote:

Dave, I'm glad someone knows what I want. One more question, when I
record a macro
after every recorded line, I get a line

Application.run "Update"

What is that and how do I stop it. TIA

Greg
Dave Peterson wrote:
The .resize(0,1) says to resize that single cell to a range of 0 rows by 1
column. That doesn't exist. Maybe you meant .resize(1,2) (one row by 2
columns???)

I think I'd add just a bit of a check:

Dim FoundCell As Range

Set FoundCell = Cells.Find(what:="Pending", after:=ActiveCell, _
LookIn:=xlFormulas, lookat:=xlWhole, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)

If FoundCell Is Nothing Then
MsgBox "not found"
Else
If FoundCell.Column = ActiveSheet.Columns.Count Then
MsgBox "nothing to the right!"
Else
FoundCell.Resize(1, 2).EntireColumn.Cut
FoundCell.Offset(0, 3).EntireColumn.Insert Shift:=xlToRight
End If
End If

And I think you meant .offset(0,3) for the insertion, too.

But test it to see if it does what you want.

GregR wrote:

I have this code which errors on the resize line

Cells.Find(what:="Pending", after:=ActiveCell, LookIn:=xlFormulas,
lookat:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:=False _
, SearchFormat:=False).Activate

ActiveCell.Resize(0, 1).Select
Selection.EntireColumn.Cut
ActiveCell.Offset(0, 1).Select
Selection.Insert Shift:=xlToRight

What the desired result is, look for cell with "Pending", select that
cell and the one to the right, cut both those columns and move them one
to the right. TIA

Greg

--

Dave Peterson

--

Dave Peterson


--

Dave Peterson
  #12   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 246
Default Resize Problem

Dave, after I reversed your Row/Col ref, I didn't receive any errors,
but the value wasn't copied or moved either to the next column?

Greg
Dave Peterson wrote:
You want to move the value that's returned in that =index() formula one cell to
the right of where it was found?

dim myRow as variant 'may return an error
dim myCol as variant

with worksheets("whateverthenameishere")
myrow = application.match("cap", .range("a1:a100"),0)
mycol = application.match(clng(dateserial(2006,5,1)),.rang e("a1:az1"),0)

if iserror(myrow) _
or iserror(mycol) then
msgbox "missing at least one match!"
else
.cells(myrow,mycol+1).value = .cells(myrow,mycol).value
end if
end with

(Untested, uncompiled. Watch out for typos.)


GregR wrote:

Dave, another small problem, I have this formula that finds the
intersection of a row/col and returns a value. I want to move the value
at this address one column to the right. It is part of this macro
above. How do I do it or what is the VBA solution? The formula is:

Index($A$1:$A$Z100,Match("Cap",A1:A100,0),match(da tevalue("5/1/2006"),A1:AZ1,0)).
TIA

Greg

GregR wrote:
Dave, I do have a macro called Update, but I have not set it in motion
or clicked a button to activate it, not sure what is happening.

Greg
Dave Peterson wrote:
Are you running a macro called Update (maybe by clicking a button or from a
toolbar)??

If you are, then stop recording before you click that button.



GregR wrote:

Dave, I'm glad someone knows what I want. One more question, when I
record a macro
after every recorded line, I get a line

Application.run "Update"

What is that and how do I stop it. TIA

Greg
Dave Peterson wrote:
The .resize(0,1) says to resize that single cell to a range of 0 rows by 1
column. That doesn't exist. Maybe you meant .resize(1,2) (one row by 2
columns???)

I think I'd add just a bit of a check:

Dim FoundCell As Range

Set FoundCell = Cells.Find(what:="Pending", after:=ActiveCell, _
LookIn:=xlFormulas, lookat:=xlWhole, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)

If FoundCell Is Nothing Then
MsgBox "not found"
Else
If FoundCell.Column = ActiveSheet.Columns.Count Then
MsgBox "nothing to the right!"
Else
FoundCell.Resize(1, 2).EntireColumn.Cut
FoundCell.Offset(0, 3).EntireColumn.Insert Shift:=xlToRight
End If
End If

And I think you meant .offset(0,3) for the insertion, too.

But test it to see if it does what you want.

GregR wrote:

I have this code which errors on the resize line

Cells.Find(what:="Pending", after:=ActiveCell, LookIn:=xlFormulas,
lookat:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:=False _
, SearchFormat:=False).Activate

ActiveCell.Resize(0, 1).Select
Selection.EntireColumn.Cut
ActiveCell.Offset(0, 1).Select
Selection.Insert Shift:=xlToRight

What the desired result is, look for cell with "Pending", select that
cell and the one to the right, cut both those columns and move them one
to the right. TIA

Greg

--

Dave Peterson

--

Dave Peterson


--

Dave Peterson


  #13   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Resize Problem

Woohoo!!!


GregR wrote:

Dave, as usual, it's because I didn't understand. When I went back to
your original, everything worked. I'll slooooooooooooooooooooooooowly
get there someday. Once again, thanks a bunch

Greg

GregR wrote:
Dave, just to clarify. The formula is actually in another cell and
returns the intersection value. I want to move the value at the
intersection to the right, not where the returned formula is located.
TIA

Greg

GregR wrote:
Dave, another small problem, I have this formula that finds the
intersection of a row/col and returns a value. I want to move the value
at this address one column to the right. It is part of this macro
above. How do I do it or what is the VBA solution? The formula is:

Index($A$1:$A$Z100,Match("Cap",A1:A100,0),match(da tevalue("5/1/2006"),A1:AZ1,0)).
TIA

Greg

GregR wrote:
Dave, I do have a macro called Update, but I have not set it in motion
or clicked a button to activate it, not sure what is happening.

Greg
Dave Peterson wrote:
Are you running a macro called Update (maybe by clicking a button or from a
toolbar)??

If you are, then stop recording before you click that button.



GregR wrote:

Dave, I'm glad someone knows what I want. One more question, when I
record a macro
after every recorded line, I get a line

Application.run "Update"

What is that and how do I stop it. TIA

Greg
Dave Peterson wrote:
The .resize(0,1) says to resize that single cell to a range of 0 rows by 1
column. That doesn't exist. Maybe you meant .resize(1,2) (one row by 2
columns???)

I think I'd add just a bit of a check:

Dim FoundCell As Range

Set FoundCell = Cells.Find(what:="Pending", after:=ActiveCell, _
LookIn:=xlFormulas, lookat:=xlWhole, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)

If FoundCell Is Nothing Then
MsgBox "not found"
Else
If FoundCell.Column = ActiveSheet.Columns.Count Then
MsgBox "nothing to the right!"
Else
FoundCell.Resize(1, 2).EntireColumn.Cut
FoundCell.Offset(0, 3).EntireColumn.Insert Shift:=xlToRight
End If
End If

And I think you meant .offset(0,3) for the insertion, too.

But test it to see if it does what you want.

GregR wrote:

I have this code which errors on the resize line

Cells.Find(what:="Pending", after:=ActiveCell, LookIn:=xlFormulas,
lookat:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:=False _
, SearchFormat:=False).Activate

ActiveCell.Resize(0, 1).Select
Selection.EntireColumn.Cut
ActiveCell.Offset(0, 1).Select
Selection.Insert Shift:=xlToRight

What the desired result is, look for cell with "Pending", select that
cell and the one to the right, cut both those columns and move them one
to the right. TIA

Greg

--

Dave Peterson

--

Dave Peterson


--

Dave Peterson
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
I could NOT resize the axis title but excel allows me to resize gr Iwan Setiyono Ko Charts and Charting in Excel 4 June 6th 06 04:46 AM
Problem transferring array data onto worksheet using Resize Ken Johnson Excel Programming 13 December 20th 05 02:05 AM
having problem with resize Logan[_2_] Excel Programming 1 April 2nd 04 12:56 AM
problem with resize property Michelle Excel Programming 4 February 23rd 04 02:11 PM
Resize Range Problem ExcelMonkey[_16_] Excel Programming 3 January 23rd 04 11:15 PM


All times are GMT +1. The time now is 08:47 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"