Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 129
Default Move Flagged Row(s) to a Different Sheet

Hi Everyone,

I'm sure this is a piece of cake for most of you who are familiar with
programming in Excel, but it's a bit challenge for me.

I'd like to know how to program in Excel so that rows that have been flagged
with some identifier will be move to a different sheet, for example:
In Sheet1, Col A is the flag column. It will be a drop down list. Let's
say if Sheet1 Col A says "DELETE" then that entire row show be move to the
sheet called "MOVE". Since Sheet1 is to be certain amount of row, I don't
want to Cut the entire row to the sheet "MOVE." I'd like to move the data and
the formatting only and leave the amount of row in Sheet1 the same after
moving.

I'd like to link the code with a button, just so that the user can click
when he/she is ready to do so.

Thank you so much for any advice/help!

Neon520
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 140
Default Move Flagged Row(s) to a Different Sheet

Hi Neon

Try this for size. Uses auto filter to move data. You might want to
consider clearing the range of the destination sheet or putting the
new data at the bottom of that range. You will have to change the
amount of columns in the code to suit your needs as I used 6.

Take care

Marcus

Option Explicit
Sub MoveData()

Dim Rng As Range
Dim lw As Integer

Application.ScreenUpdating = False
Set Rng = Range([A1], Range("A" & Rows.Count).End(xlUp))

With Rng ' use autofilter
.AutoFilter , Field:=1, Criteria1:="Delete" 'Criteria DELETE
Range("A2").Select
lw = Range("A" & Rows.Count).End(xlUp).Row
Range(Cells(2, 1), Cells(lw, 6)).Copy Worksheets
("Sheet2").Range("A2")
.AutoFilter
End With

End Sub
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,510
Default Move Flagged Row(s) to a Different Sheet

By the following statement do you mean that you want to move all the data and
formatting but leave the blank row in the source worksheet?

"I'd like to move the data and the formatting only and leave the amount of
row in Sheet1 the same after moving."

--
Regards,

OssieMac


"Neon520" wrote:

Hi Everyone,

I'm sure this is a piece of cake for most of you who are familiar with
programming in Excel, but it's a bit challenge for me.

I'd like to know how to program in Excel so that rows that have been flagged
with some identifier will be move to a different sheet, for example:
In Sheet1, Col A is the flag column. It will be a drop down list. Let's
say if Sheet1 Col A says "DELETE" then that entire row show be move to the
sheet called "MOVE". Since Sheet1 is to be certain amount of row, I don't
want to Cut the entire row to the sheet "MOVE." I'd like to move the data and
the formatting only and leave the amount of row in Sheet1 the same after
moving.

I'd like to link the code with a button, just so that the user can click
when he/she is ready to do so.

Thank you so much for any advice/help!

Neon520

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,510
Default Move Flagged Row(s) to a Different Sheet

Hi Neon,

I took a gamble that your answer to my previous post will be yes and if so,
the following code should do what you want. If you need help in attaching the
code to a button then please get back to me but let me know what version of
xl you are using so I can tailor the instructions to suit.

Sub MoveDeletes()
Dim wsSht1 As Worksheet
Dim wsMove As Worksheet
Dim rngColA As Range
Dim cel As Range

Set wsSht1 = Sheets("Sheet1")
Set wsMove = Sheets("Move")

With wsSht1
Set rngColA = .Range(.Cells(1, "A"), _
.Cells(.Rows.Count, "A").End(xlUp))
End With

With wsMove
For Each cel In rngColA
If cel.Value = "Delete" Then
cel.EntireRow.Cut Destination:= _
.Cells(.Rows.Count, "A") _
.End(xlUp).Offset(1, 0)

cel.EntireRow.ClearFormats
End If
Next cel
End With

End Sub

--
Regards,

OssieMac


  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 129
Default Move Flagged Row(s) to a Different Sheet

Hi OssieMac,

Yes, I'd like to move all the data and formatting but leave the blank row in
the source worksheet, but since they are going to look empty in between
others row, it would be nice to insert a line of code that will sort them in
certain order so, that the user don't have to manually sort the data.

I'm using Excel 2004 for Mac, but I do know how to attach the the code to
the button, so that's not a problem for me.

I got "Run-time error ;91': Object variable or with block variable not set"
for the following code:

cel.EntireRow.Cut Destination:= _
.Cells(.Rows.Count, "A") _
.End(xlUp).Offset(1, 0)

Please allow me to explain myself in detail of what I need:
Currently, in my excel workbook, I have 3 sheets: 1. WaitList (aka source
worksheet) 2. Enrolled 3. Rejected.
WaiList sheet has Column A-O. Column K is the Status column (Enrolled,
Rejected, Waiting). I have set source worksheet to have 550 rows, and I'd
like to keep it in that amount even after move the data to other sheets.

Here is my idea of the code should look like:

Search the entire [WaitList] sheet

If Col K in [WaitList] is "Enrolled"
Then move the data from Col A to Col O to [Enrolled]

Else if Col K in [WaitList] is "Rejected"
Then move the data from Col A to Col O to [Rejected]

(append the data for [Enrolled and [Rejected] to the next row everyone time
the code is run)

Sort the [WaitList] by Col H in acsending order and then Col G in acsending
order.

I hope this help you in the processing of trying to comprehend my problem
better. I'm sorry that I change some of the term and column from the
original post.

Thank you so much,

Neon520



"OssieMac" wrote:

Hi Neon,

I took a gamble that your answer to my previous post will be yes and if so,
the following code should do what you want. If you need help in attaching the
code to a button then please get back to me but let me know what version of
xl you are using so I can tailor the instructions to suit.

Sub MoveDeletes()
Dim wsSht1 As Worksheet
Dim wsMove As Worksheet
Dim rngColA As Range
Dim cel As Range

Set wsSht1 = Sheets("Sheet1")
Set wsMove = Sheets("Move")

With wsSht1
Set rngColA = .Range(.Cells(1, "A"), _
.Cells(.Rows.Count, "A").End(xlUp))
End With

With wsMove
For Each cel In rngColA
If cel.Value = "Delete" Then
cel.EntireRow.Cut Destination:= _
.Cells(.Rows.Count, "A") _
.End(xlUp).Offset(1, 0)

cel.EntireRow.ClearFormats
End If
Next cel
End With

End Sub

--
Regards,

OssieMac




  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,510
Default Move Flagged Row(s) to a Different Sheet

I tested with a PC and it appears to work. I don't have access to a Macintosh
so can't test under those conditions. However, did you edit your worksheet
names correctly in the following code.

Set wsSht1 = Sheets("Sheet1") 'this is the source sheet
Set wsMove = Sheets("Move") 'this is the destination sheet

Other than that, post the code with a question under the Mactintosh area and
someone might be able to help with whatever needs to be tweeked for Macintosh.

--
Regards,

OssieMac


  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 129
Default Move Flagged Row(s) to a Different Sheet

Hi OssieMac,

I retry the code again with some small changes and this time it works!
However, there is a little tweak that I'd like to see if you can help me with:

I delete the code line: cel.EntireRow.ClearFormats because I do want to
preserve the formatting that is originally with Sheet1; however, even with
this code line deleted, I do still lose the border line that is originally in
Sheet1. Is there a way to preserve the border setting as well?

Also, could you include a couple more lines or code that will sort the
Sheet1 by ColA then ColB by ascending order after Transferring the info to
Move sheet?

Optional request (if possible, if not, that's fine)
Is it possible to show a textbox pop up saying that "there is no 'Delete'
Item in Sheet1 and press OK to quit" something like that? Just so the user
will know that...?

Thank you for your great help!!
Neon520

"OssieMac" wrote:

I tested with a PC and it appears to work. I don't have access to a Macintosh
so can't test under those conditions. However, did you edit your worksheet
names correctly in the following code.

Set wsSht1 = Sheets("Sheet1") 'this is the source sheet
Set wsMove = Sheets("Move") 'this is the destination sheet

Other than that, post the code with a question under the Mactintosh area and
someone might be able to help with whatever needs to be tweeked for Macintosh.

--
Regards,

OssieMac


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
tabs in excel flagged out in webpage NOT Hansn Excel Worksheet Functions 0 July 11th 08 01:43 PM
Can dates entered Excel be flagged up in Outlook? sue2uk Excel Discussion (Misc queries) 7 November 7th 07 03:35 PM
training cert expiration times need to be flagged in excel Wkdwzdm New Users to Excel 4 October 31st 06 06:06 AM
Summing cells which are flagged in some way Keith Bliss Excel Discussion (Misc queries) 4 September 4th 06 11:28 AM
How do I save spreadsheet to CD that gets flagged as Read Only? Terminole Excel Discussion (Misc queries) 1 June 15th 06 08:08 PM


All times are GMT +1. The time now is 07:18 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"