I have a model which extracts data from an external data sournce using an ODBC query. This data is then used to generate a pivot table. I have incorporated code to update the query and the pivot table on startup but would like to disable the Enable Query Refresh message box which occurs at startup (it would also be nice to disable the security warning but I know that is a no no)
I've used this code prior and it worked fine in Excel 2007, now I'm having issues with it. Originally every Pivottable & Query pointed to a different CSV file. Now I have two pivottables built off a Excel worksheet that is built from a Query. This allows me to do some complex lookups that I couldn't do with just the Pivottable and MS Query alone.
Here's the code that's failing out: Any problems with it in Excel 2007?
Private Sub Update_All_Data_Click() Dim pvt As PivotTable Dim ws As Worksheet Dim qt As QueryTable
mytitle = "This will refresh all data for validation, are you sure?" Msg = "The Refresh process takes about 5 minutes, are you sure you want to continue?" Response = MsgBox(Msg, vbExclamation + vbYesNo, mytitle) Select Case Response Case Is = vbYes ' Do Nothing, continue with program Case Is = vbNo Worksheets("instructions").Range("a1").Select End End Select
For Each ws In ThisWorkbook.Worksheets For Each qt In ws.QueryTables qt.BackgroundQuery = True qt.Refresh Next qt Next ws
For Each ws In ActiveWorkbook.Worksheets For Each pvt In ws.PivotTables pvt.RefreshTable Next pvt Next ws
mytitle = "Confirmation of data refresh" Msg = "The data has been refreshed" Response = MsgBox(Msg, vbExclamation, mytitle)
I have a query with ODBC connection to a SQL database. This query's parameter is linked to a cell. The resultant data is the source for a pivot table. I want to refresh the pivot table, when the query is run. I've tried using the cell that triggers the query....but the problem is that the query takes about 10 seconds to run. By the time the query returns new data....the pivot has already refreshed. I need it to refresh AFTER the query is complete.
I tried adding a cell that sums up the data from the query...thinking when THAT changes (due to updated data), to trigger the pivot refresh. Problem is that I don't know the trigger for when the sum cell changes (ie....formula change, not typed in.)
When I click a button on a Sheet, Certain data is copied from another sheet and paste in active sheet. While this action is taken place, whole sheet is refreshed and the image and a data is blinking for a second.
I've got a spreadsheet with a few queries to extract data into my sheet. Whenever I open the spreadsheet, I get a "query refresh" dialog box, asking if I want to "Enable automatic refresh". I keep clicking on the "Enable" button but I have to keep answering the question for each open. Isn't there a way to set "yean - ok - refresh the data" so that I don't have to keep saying "yes"?
I am using the before double click event on a protected sheet. When the event fires the first thing the procedure does is unprotect the sheet, does stuff and then it applies protection again at the very end.
Regardless I still get the 'Function is not available on a protected worksheet' message. How can I stop the message? Any ideas? If no standard approach is available does anyone know how I can hook this using API?
I've written some VBA which creates worksheets to temporarily store data in. At the end of the code I delete the worksheets. However, for some reason I am getting a message box which asks for confirmation. How can I avoid the user of my report having to click OK for each of the worksheets which need to be deleted?
1. I can't remember it, but I know there is a command so that the view hold and that the selected tabs and cells does not show and the same view remains until the "unhold" is called in the macro. THEN the view is updated. What is this command again? Could not find it...
2. The macro needs to delete tabs at the click of a button (easy part) but for each deletion, a message appear:
Data may exist in the sheet selected for deletion. To permanently delete this data, press Delete. Is there a way to prevent the message from popping out when the macro is executed?
I am trying to write a creative procedure that on workbook open will check the name of the worksheet if it includes the day's date in sheetname & if it doesn't rename the sheet & delete current region from A1, else exit the sub.
Then runs a query on an Access DB to place in the above worksheet.
I need this due to novice XL & DB (8)users.
This is what I have at the moment on a test DB courtesy of J Walkenbach's sample files .....
I have a workbook_open macro that refreshes a query. works great when opened directly from Excel 2007, but when I use Task Scheduler to call the sheet or call Excel the query will not refresh...macro runs but no refresh.
I have the following code that works fine (although i'm sure you'll think it's a little clumsy), but when I add a save workbook line at the end I get a message that says that an action (presumably the save) will interupt a refresh. My problem is that I cant understand why there is a refresh when the code ends. The data that is being refreshing is big and a number of calculations take place, so that may be something to do with it.
Sub RUN() Application.DisplayAlerts = False Application.DisplayStatusBar = True[code].....
I have a protected worksheet containing an SQL query. I have two cells on the worksheet unlocked so that users can enter fresh parameters to feed the query. Because I have to use MS Query to interrogate our SQL server (current IT decree), the query won't support parameters directly when the query cannot be represented graphically - so I have to manually edit the sql command text and then refresh the query - or at least that was why I wrote the code below
The problem: My macro won't unprotect the sheet before it calls the SQL.it therefore won't update the sheet to detail the DSN, command text and number of parameters (latter should be 0) - info just used to verify queryit won't run the query / return the data as the sheet is still protected Comment: I have had to remove sheet protection in order to allow the sql to execute and return data. If protection is removed, the query does execute and return data ( changes in the "parameter" cell contents do cause the query to be correctly modified) I could comment out the debug info but the query still doesn't return data if the sheet is protected.
Activesheet And worksheets(ndx) where ndx has been defined As ActiveSheet.Name I apologise If my post Is difficult To follow - especially the code.
Im using vlookup to search a table and fill out a calendar with dates that various employees are gone. They can have multiple trips in one month and thus will be in the table multiple times. I have the calendar set up so days go across the top and names go along hte left side. so each cell is identified by name and day. I then have each cell using the vlookup command to search the table. now if one person has multiple trips a month is there a way to compare multiple entries in the table?
I have enable Refresh on Open for my excel pivot table, but user need to click "Enable Automatic Refresh" , only solution i came across is to change the registry setting. Which i dont have access to edit registry(admin disable the access).
Alternate solution i try to use Access macro to automate the process and use Outputto save it as a excel file A. Then use excel file B to update pivot table from excel file A.(as excel A data is always latest) The problem is i will get "....A file name already exist...do you want to overwrite.." prompt. Which defeat the automate process.
Any other solution to enable the automatic refresh on open the excel workbook?
Or Access can overwrite the exist file or save it as another file name with timestamp ?
I am running XL 2008 on a Mac and have created a pivot table that works well. However, without VBA (and I don't know how to write in Applescript), is there a way to put a REFRESH button on my spreadsheet?
I now have a Pivot table on my worksheet that works great, the only problem I have is I would like it to refresh my data at the push of a button. I now have to click on a cell where the pivot table data is>right click the mouse>select refresh data and then I get the updated info. I know you can install a button to to this exact same thing but I don't quite know how to. I need step by step instructions. I tried OzGrid search, but did not find exactly my need.
This is what I did thus far I opened my work book>click on data>then macros> record new macro>I got a pop screen>I named the macro Refresh_Pivot_Table>store to this workbook>click OK> I see at the bottom left of my screen that the macro is still recording> I then highlighted the Column of cells where the pivot table data is and then clicked>tools>macro>stop recording.
This is the point where I'm lost. What is the next step to do? When I go back to the cell where I began to start the macro and right click I don't get the option to create a text box so that I can make a button and assign the macro I just recorded. Is this the correct method or did I miss something?
I have a macro to refresh all pivottables in my workbook. Each pivottable source from the same data pool - in addition I have a filter on each pivottable. Is there a way to fix this filter, such that once the source data is updated, the filter doesn't change? Or to only refresh the "data" in the pivottable?
My code for refreshing all pivottables is given below.
Dim pvt As PivotTable Dim sh As Worksheet Application.Calculation = xlManual For Each sh In Worksheets For Each pvt In sh.PivotTables pvt.RefreshTable Next pvt Next sh Calculate Application.Calculation = xlAutomatic
I have two pivot tables on the same worksheet, tied to different tables, but both have a "date" column. When I change the date in either tables Report Filter this code does change the page field in the other one, but the data does not refresh. My primary table is PivotTable2, once I can get this working I would hide that report filter in PivotTable1.
Code: Private Sub Worksheet_Activate() Application.ScreenUpdating = False PivotMacro PivotMacro1 Application.ScreenUpdating = True End Sub
I have written some simple VBA code so that on Sheet 4 I have a drop down list box to choose the month.
When the month is chosen by the user it moves to the active cell and changes the dates, as well as dates in some other columns (I used activecell.offset ....).
This code runs perfectly fine when I haven't refreshed the pivot tables in the workbook. But straight after a refresh, if I try and change the month it gives a run time error and gets stuck at the first instruction: