ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Complicated VBA? Moving filtered data.... (https://www.excelbanter.com/excel-discussion-misc-queries/119160-complicated-vba-moving-filtered-data.html)

TomorrowsMan

Complicated VBA? Moving filtered data....
 
Hi, I've got a good one here I think:

I am trying to build a workbook that will limit the amount of extra
steps needed to get a set of names that are in a spreadsheet over to a
mail merge. So, what I would like to happen is:

1. User enters several rows of data on Sheet1.
2. User autofilters the rows by date, department, whatever.
3. User clicks a commandbutton to launch a macro that will send only
the filtered rows to MSWord to create the merge letters.

I think it will be pretty easy to set up the commandbutton to
automatically launch Word and create the merge docs, but I have no idea
how to send ONLY the filtered rows to the merge. Do I need to work
with a range?

Thanks a ton, as usual!

Chris


michael.beckinsale

Complicated VBA? Moving filtered data....
 

TomorrowsMan,

A couple of suggestions:

1) Copy/Paste filtered rows to another sheet, delete blank rows, loop
thru and do whatever

Or

2) Loop through filtered range and testing to see if cell/ row .visible
property = True, if it is do whatever.

Regards

Michael Beckinsale


John

Complicated VBA? Moving filtered data....
 
If .AutoFilter.Range.Columns(1).Cells.SpecialCells(xl CellTypeVisible).Count
0 Then
With .AutoFilter.Range
.Resize(.Rows.Count - 1).Offset(1, 0).EntireRow.Delete
End With
End If

Good luck
John
Hi,

I use this bit of code to delete Filtered rows. I guess change the .Delete
for .Copy and add the range to copy to and it shoudl work!



"TomorrowsMan" wrote:

Hi, I've got a good one here I think:

I am trying to build a workbook that will limit the amount of extra
steps needed to get a set of names that are in a spreadsheet over to a
mail merge. So, what I would like to happen is:

1. User enters several rows of data on Sheet1.
2. User autofilters the rows by date, department, whatever.
3. User clicks a commandbutton to launch a macro that will send only
the filtered rows to MSWord to create the merge letters.

I think it will be pretty easy to set up the commandbutton to
automatically launch Word and create the merge docs, but I have no idea
how to send ONLY the filtered rows to the merge. Do I need to work
with a range?

Thanks a ton, as usual!

Chris




All times are GMT +1. The time now is 10:02 AM.

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