Print One Worksheet In Different Filtered Views As One PDF?
Jan 18, 2013
I have a worksheet set up with a number of pivot tables to show job summaries for each project manager. I created buttons labeled with each project manager that trigger a macro to filter the results to only show jobs for that specific project manager. There's one button for each project manager.
I'd like to create a macro that will essentially show each project manager's report and compile the result into one PDF. I only have 5 project managers so I don't need an array or anything if that makes it easier, I could write the code manually for each one.
So basically, it would do this:
1. Run macro to filter results to only show Project Manager #1 jobs.
2. "temporarily" print to PDF.
3. Run macro to filter results to only show Project Manager #2 jobs.
4. "temporarily" print to PDF.
5. Run Macro for Project Manager #3, etc.....
...............
Final step. Compile all the "temporary" pdfs into one file.
Is there a way to have 2 views of the same sheet that will enable either user to only see their own requirements (columns, row)s but that will update the overall worksheet. The users would not be accessing simultaneously. Complex sheet so just need to have user access to a subset of data.
Since upgrading to Windows 2007 (I was already using Excel 2007) I am having issues with the content in the cells on the worksheet not appearing the same on Print Preview and when I print. On the worksheet the cell show to be at the best fit both horizontally and vertically. When I look at the contents under print preview, the contents are squashed from the top and cut off from the left. This happens whether I have the format in Top or Central align and is even worse if I use Bottom align. It is also somewhat worse if I have thickened boarders.
I just converted from Excel 2003 to 2007 and print previewed a worksheet and find a tiny image with a small portion of the print area. When I look at the sheet in page break preview mode, I see the 8.5 x 11 sheet broken up into approx 77 smaller sheets. When I try to move the page breaks to include the whole sheet it states the change cannot be made as it will result in an image less than 10%. I have attached two images - the first shows the print preview I get, and the second show the multiple pages when I view in page break.
In Worksheet A I have hundreds of Rows... Column 2 has a Type in it and not all rows will have a type and then there are various data elements in column 3, 4, 5 and 6
What I would like to do is in a worksheet B have a formula on each of the cells on a row that would look to worksheet A and would find the first row to match the type value in column 2. I would then want to lookup the value of column 3, and 4, and 5 and 6. Then in worksheet B, the next row the formulas in the cells that would also match type and would continue with the NEXT row in worksheet A that matched the type and again retrieve the appropriate cells. It would continue stepping through the rows of worksheet A until I had all of the now displayed in worksheet B
Basically I want to built a subset of worksheet A into worksheet B using the value of the Type column in worksheet A.
I suspect I am going to need to use multiple forumulas nested together in some way to achieve this.
I have a sheet which contains filters, however I need to use a countif based on criteria of the filter & I only want to count the visible names down column A
I was attempting to modify
=countif(subtotal(2,Analysis!A:A),Sheet4!J2) not work, is there a better method?
I have a workbook that lists various shipment numbers and their contents to several locations. What I am trying to do is, on a different worksheet in the same workbook, list all shipments to one location; having different worksheets for each specific location.
I am sure there must be an extremely simple solution to this, however I am unable to locate it.
Also I would like the separate location worksheets to autoupdate when new shipments are entered on the main worksheet.
I am populating a 2nd temporary worksheet from a primary using autofilter which works just fine. I have been asked to set it up to populate the 2nd sheet using the same autofilter criteria across two or more of the primary sheet columns. I have been looking through the forums and found an article in which this process is described, #2 The power of Autofilter in VBA - Part 2, and I would like to ask if this will do the job for me.
I did attempt to create my own code, but it didn't work with a loop that I created. I do use input boxes to gather criteria from the user. I have put a copy of my code below which doesn't work, but need to know if the code in the article mentioned above will work?
Option Explicit
Private Sub UserForm_Initialize()
On Error Resume Next
' Dim rheadings, cl As Range ' ' Set rheadings = Worksheets("CONTACT").Range("A1:F1") ' For Each cl In rheadings ' Me.cbxSearchWhere.AddItem cl.Value ' Next cl
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, _ ................
I have filtered data on Sheet1, which I need just columns A, B & C combined and placed on Sheet2. The below code works, but its defined to copy all rows. I'm unsure of what syntax to use for the loop to copy just the filtered data. Also is there a way to "cycle" through the filters? Example Autofilter "1984" copy ABC to Sheet 2, then AutoFilter "1985" copy to sheet 2 and so on?
For Each Cell In Sheets("sheet1").Range("A:A") If Cell.Value <> Empty Then i = i + 1 b = Cell.Offset(0, 0).Value & ", " & Cell.Offset(0, 1).Value & " " & Cell.Offset(0, 2).Value Sheets("sheet2").Range("A1").Offset(i - 1, 0) = b End If Next Cell
I am trying to find a macro that will filter on Column F (non-blanks - just cells with dates) cut just the filtered data (A:G inclusive)without the Header Rows and then paste/move this data to the first empty row on another sheet called "Complete"
So that I get the cells in columns A:G with dates in moved to the "Complete" tab and they are no longer in the sheet "Deliverables"
my requirement is as follows. I have a school data sheet(data sheet) and i have to filter data based on each school id.I need to pass school id in a different excel sheet(input sheet). So if the school id matches then i have to copy the entire data for tht school and move to to a new sheet.
Input sheet schoolid 211 321
Data Sheet
Emp No Surname last name schoolid 1 marian chin 211 3 luke mar 211 5 uyure tgt d 321 7 fdsfd fdsfsd 333
so whn the macro is run it should filter for 211 and 321 and move these three rows from data sheet to new output sheet.
I have a column that is updated several times a day, I need to be able to view that list in a userform combo box and that box to be able to react like an autofilter list. I've tried the advanced filter thing but as th elist is contantly updated it makes this very hard to handle as I have to set macros to compile the list and then delete it once it's been used. Is there a way I can set vba code so the ComboBox populates unique fields, sorted AZ and removed the blanks without using the advanced filter..?
I have a very complex data source (80 columns, thousands of rows) and need different types of Pivot tables for analysis. I have created around 20 Pivot tables in different sheets based on the same data. What I wanted to know was, is there something like a saved 'view' which I can select in the Pivot table to generate different pivots in the same sheet (with different settings of rows, columns, etc but based on the same data)? Currently, to view the other Pivot, I have to go over to the other sheet - or customise the current pivot.
Right now, I've this pop up box which prompts users for passwords and user name for log in. They are two main users : Admin and User. Admin is the user which is allowed to see all sheets. While User is only restricted to user interface sheets. The problem is for the "User" I want to restrict a view in the sheet "ELEMENT". I wish to hide columns L to AI if "User" logs in. But if "Admin" logs in, I want no columns hidden. Everything must be visible.
Private Sub CommandButton1_Click() Sheets("Main").Select Dim strUser As String, strPword As String, strWs As String Dim w As Worksheet, c As Range, r As Range strUser = Me.TextBox1.Value strPword = Me.TextBox2.Value Select Case strUser Case "User" If strPword = "User" Then Sheets("SMXINVENTORY").Visible = xlSheetVisible Sheets("SMVINVENTORY").Visible = xlSheetVisible Sheets("SMIINVENTORY").Visible = xlSheetVisible Sheets("SMF1INVENTORY").Visible = xlSheetVisible..............
I'm dealing with a spreadsheet that uses custom views. Before I do anything with it, I want to make sure that there is no custom view enabled (e.g. just display all). I've tried Chip Pearson's ThisWorkbook.CustomViews("View1").Show suggestion, but it just throws "Runtime Error 5: Invalid procedure call or argument". My actual code is: ThisWorkbook.CustomViews("All (Est)").Show
I have created a report with 22 sheets as different pages to be included or hidden depending upon the type of report needed. I had found several sources saying to use the Custom Views function. So for example I will unhide all the sheets and add as a Custom View "All Sheets" and then whittle it down to the 5 I might need for B type inspections and add that view as B Inspection. But when I try and toggle between them I'm getting an error message that says "Some view settings could not be applied" - and thew saved view I was looking for is not the same sheetwise.
1. I have a shared and protected workboook that about 15 people update. For some reason, when people open it they can't always scroll. Anyone know why this happens and how to fix?
2. Is there a setting so that whoever opens the workbook will see the same view (instead of whatever view the last person saved the file in)?
I am trying to use a checkbox to control the custom views that i have set ("Normal", "Hide") However after i entered it in VBA, it just does not work. After i check or uncheck the checkbox, it just keep going back to the "Normal" view.
Sub CheckBox1_Click() If CheckBox1 = True Then ActiveWorkbook.CustomViews("Hide").Show Else ActiveWorkbook.CustomViews("Normal").Show End If
I've posted this on Experts Exchange too, specifically trying to target the SQL Server experts. http://www.experts-exchange.com/Soft..._24423637.html
SQL Server isn't really my thing. I have been asked to quote on a job to build some models. One of the components is to pass parameters to sql server views and return the data into a table in Excel. I never done this.
1. Is it possible to pass parametrs to a view thru Excel? 2. Will the view execute based on the users permissions (different users using the Excel template have different access rights)? 3. Any other things to consider?
I don't need specific solution, only really some broad advice. I really only want to know how feasible this is...
If vntFile <> False Then ActiveSheet. Cells(27, 1).Value = vntFile Image1.Picture = LoadPicture(vntFile) Image1.PictureSizeMode = fmPictureSizeModeStretch
End If End Sub
I would like to force the box to open in Views - Preview instead of List or Details or whatever it is at. I tried the following (and a bunch of other things), but I could not get it to work
With FileDialog .InitialView = msoFileDialogViewPreview End With
I have a large spreadsheet that I am managing and there are many users who access this for information. Because of this, we have all created "custom views" for our departments.
I continue to struggle with how to save changes in these custom views. Yesterday, I added and moved some columns to the spreadsheet and now all the custom views are messed up. The only way we have been able to work through this is deleting and creating new views.
I have a spreadsheet with four columns of data for every month (i.e. January has a Prior Year, Budget, Outlook, and Actual column). I have been trying to come up with a macro or form that will allow me to customize which columns I would like to see and hide the rest. For example, if I chose to see the Budget and Actual columns, it would hide the Prior Year and Outlook columns for each month.
I have a workbook that I am sending out to others for them to fill out. I would like to have them be able to click on a cell (or text within a cell) and have Excel print that worksheet in landscape mode or at least open the print dialog box.
what is the vba to print every worksheet within an excel workbook?
also, i've been working on saving each worksheet and have the code for that, therefore, can show me how to loop through the count of worksheets (which will be changing every time i run the macro).
is it somelike like count the worksheet(s) first and then loop all of them. from there within the loop i can call the sub SAVE() and use the cmd "ActiveSheet.PrintOut".
i am trying to use "Worksheets.Move After:=Sheets(Sheets.Count)" but i am not getting there.
Subscript 9 error that Ive been getting when I run this macro. It has worked in the past, but when I tried to test it today I keep getting errors on the array portion.
I finally found a vba that will print my excel worksheet as a pdf.
Sub PrinttoPDF() ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _ "CutePDF Writer on CPW2:", Collate:=True End Sub
My questions are:
-How do I set a path for this printout. right now its printing out the pdf on my desktop. -How can I name the pdf file to a value in a cell. right now i have to manually name. -Is there a way to email this file from the path i just saved it in?
I have a workbook with 150-some-odd sheets, each with a store number. I would like to loop through each sheet & print that sheet to the printer with the same name in my printers & faxes queue.
(eg. sheet 9604 would print to printer name oki9604)
At my company we need to print our workbooks containing 3 to 24 worksheets. The first page should be printed on different paper than the other pages. From various forums I gathered that it's not possible to set the papertray using vba. Those forums suggest 3 things: 1. Windows Api functions (don't work at our company(security)), 2. SendKeys (don't work because of different printers, office versions and future-proofness) and 3.
Define printerdrivers per tray.
This last I did, so there are printerdrivers for tray3 and tray4.
With the following code I try to print the workbook:
Public Sub printSheets(strP1 As String, strP2 As String) Dim curPrinter As String, firstPage As Worksheet, otherSheet As Worksheet, x As Integer Set firstPage = Application. ActiveWorkbook.Sheets(1) curPrinter = Application.ActivePrinter
The problem: The sheets are sent to the printers specified as strP1 and strP2, but the tray-settings from these printers are "overruled" by Excel; they are printed from the papertray that was the default of the printer when Excel was started.
Also, using the default printer dialog from Excel has the same problem; when the (windows-)default printer is Tray3 then all the pages come from there, even when printer Tray4 is selected as the printer. In Word or Acrobat etc the prints come from the right tray.