I remoted most of my number crunching stuff to a dll.
It work fine except for a few strange things that I observed like from time to time a strange message "Error in loading DLL" even though everything works fine. This message appears only when entering the main formula in the formula, and is no problem at all in usual work.
When I investigated, I noticed in the "windows task manager" that one instance of excel remains open even after I have closed excel. This phantom excel process is maybe related to the other problem I explained above.
Instead of calling a VBA function, it creates a VB6 object from this dll and uses the methods of this object. In this way I have remoted the number crunching functionality.
The main parameter passe in this process is a reference to the original workbook. I need it because the number crunching functions need to read data from the workbook.
I made it sure to terminate the life of the object properly on both sides by ad hoc obj=Nothing statements.
Still I think that the "garbage collection" or the "terminating" is the cause of the problem.
I have a link that is showing up under Edit/Links. I have tried to locate this link by highlighting all sheets and using the find command and using part of the file string however it is not finding anything. I tried this with a link that I know should be there and it takes me right to the sheet/cell its located in...
When copying sheets within a spreadsheet I receive numerous examples of the attached error message: when I search for the named range referred to in the source sheet it doesn't exist - I can only assume that it is a variable name that has been assigned somehow - but as far as I can tell, there aren't any macros associated with the spreadsheets in question that are generating the names that are displayed .. so unsure how the names are appearing. how to remove these phantom names so the prompt stops appearing?
NB: If I answer "No" to the prompt I must enter a different name - and if I do that, the system creates the new name in the copied sheet so if I then copy the copy on to another sheet the number of "named" ranges includes both the original "phantom names" AND the additional "phantom names" I've created as part of this process.
I have an excel report containing eight or so worksheets. A user can make a number of selections with the report to change its context. E.g. to analyse different types of customers; high spend or low spend etc. Sales projections are then presented with several Excel Charts adapting to the user's preferences.
My problem occurs when the user makes a selection (they choose a ComboBox option.) This then triggers my code, which creates the data tables and graphs depending on their selection. The report is quite long so I have created two points in the same worksheet where the user can change the same customer selection option. (Basically, all I have done is create a second ComboBox which triggers the first). Again, this works perfectly causing no errors (other than the display error belowc)
However, when I change the second instance of the ComboBox a phantom copy of my chart is dumped on the current screen view. If I scroll off screen and then back again the phantom chart disappears. I need a quick solution to fix this bug until I have some more time to look at what's causing it. Therefore I simply want to add a line of code, which will scroll off screen and then return back to the same position. (Not very neat, but at least it will get rid of my duplicate chart). As I have screen updating turned off the user won't notice what is happening.
I have a dynamic chart that allows the user to select the starting and ending dates for the data range by using a scroll bar.
The dates in the data table are input daily and are generally in sequential order, however there are gaps between dates (eg. 1/4/08, 1/7/08), such as would occur over a weekend or holiday period. The dates are used as labels for the X-axis.
The problem is the chart interpolates the dates in the "gap" and includes them on the X-axis and plots them as zero values.
I would like for the chart to display only the dates and values actually in the dataset and not interpolate and include dates/assign zero values.
Haven't had any success in searching the forum. Can this interpolation be prevented?
I am hoping someone with excel experience can be of help to me with an unusual request for excel.
Assume cell A1 = 2, B1 = 3 and i wish the sum of this (5) to appear in cell C1. Very straight forward so far, however i wish the result to appear in C1 when i left click on a cell other than C1, say for example D7.
I've just discovered that if you include the line: Application.IgnoreRemoteRequests = False. in a Workbook_BeforeClose event, and then close the workbook using ActiveWorkbook.Close
Application.IgnoreRemoteRequests = False
line is itself ignored! Code attached - the only workaround I can come up with is also included (to re-enable IgnoreRemoteRequests BEFORE the workbook is closed programmatically) - can anyone confirm this, or break it, or come up with a better explanation or workaround?
i have an excel file with some vba code that includes some functions of a third party add-in also. It works fine when i open this file on the host machine. (Assuming host machine is where the Excel File is placed) But when i try to open the same file from some other computer(remotely/by sharing folder), the add-in malfunctions because of one reason that it considers the remote machine to be its host. Is it possible to set a permanent host machine for that any add-in. Or is it possible for that add-in / Excel file to do its calculations and updation of links on the host machine where it is placed.
I send out multiple versions of the same sheet every month. I want to be able to have a script run every time the spreadsheet is opened to send an electronic log directly to a text file on my machine (or something similar)
Is this possible or some sort of a pipe dream? It would be used for me to monitor usage of the sheet, and i'd require only the same of the spreadsheet (which is always unique), the date/time and possibly the computer name / username? (not really needed)
I have an excel workbook that lists the number of mailboxes on several exchange servers. Because this info is put in manually by several people throughout the day there is a chance for mistakes. I can use remote desktop to get into these servers and check all these but when you have over a hundred (Enterprise Level) of these different mailbox stores to check, it takes a while and just isn't fun. I have a friend who made a vbscript file that can check them all but I don't have that code but now I know that it is possible...well with vbscript anyhow.
is it possible for excel to access a remote computer? and how would this be done? If needed to we can be already remoted into it I just need help with the Syntax of how to then access it via some VBA.
I have CDO set up on in an excel workbook contained on our network. We have been using the following code for well over a year. It works flawlessly on 12 of our 13 computers. I can send mail through Excel using the following code on my computer. But not on a particular computer. The user at that particular computer can't send mail through the CDO code from her computer but can from other computers. This problem is definitely isolated to a computer. I had tech support un-install office, use a cleaning tool, then re-install office. The problem persists. Is there a particular setting on this computer that needs to be set that I am unaware of? Here is the code...
My code should get the value of a hidden element from a form that is on a remote website. Then it should display that element's value on my excel worksheet.
One or the other of the 2 lines between the commented out lines should work. Instead the code runs until within a minute after the page has finished loading, and then stops completely without getting the hidden element's value.
Code: Sub work_damit() Dim ieApp As Object Dim URL As String URL = "http://www.craft-e-corner.com/p-2688-new-testament-cricut-cartridge.aspx" Set ieApp = CreateObject("InternetExplorer.Application") ieApp.Navigate URL
I've been trying to send emails through an SMTP server in various ways. I've been able to send email using CDO going directly through an SMTP server on my same local network (not requiring a username and password). But now I am trying to send email from my home with the SMTP server I am using that is hosted by some commercial company. I used the code below, which is sponsored by Paul Sadowski:
Sub sendMailRemote() 'Sending a text email using authentication against a remote SMTP server
Const cdoSendUsingPickup = 1 'Send message using the local SMTP service pickup directory. Const cdoSendUsingPort = 2 'Send the message using the network (SMTP over the network). Const cdoAnonymous = 0 'Do not authenticate Const cdoBasic = 1 'basic (clear-text) authentication Const cdoNTLM = 2 'NTLM.......................
I have created a macro that creates a powerpoint from excel in office 2010. I have followed all the required steps, like adding object library and all. but still many times the PowerPoint crashes at slide7, 8 or 9 and have to restart. I generally get the above given error.
Code: Sub CreatePowerPoint() Application.ScreenUpdating = False 'Macro Created by Pallavi NC (firstname.lastname@example.org) 'Add a reference to the Microsoft PowerPoint Library by: '1. Go to Tools in the VBA menu '2. Click on Reference '3. Scroll down to Microsoft PowerPoint X.0 Object Library, check the box, and press Okay 'First we declare the variables we will be using
I need to print a worksheet. The sheet has rows of a specific height (45) and data in one cell grows - adding comments/notes with date attached so that last one entered is displayed, the rest get shoved down.
I need to sometimes print out the sheet. However, I want to have all the notes shown so would like to (1) autofit all rows, (2) print the sheet and then (3) put all rows back to row height of 45. All this I would LIKE to have done by "trapping" the print button on the normal Print area
I have attached some code, but the sheet (1) does not print at all, (2) the code is sometimes executed twice (in debug mode followed it) and (3) sometimes does not set the row height properly either at autofit or static height.
Dont know if this is possible. I have a spreadsheet where cell A1 contains a value which is not fixed and can change daily, the value can increase and decrease. At present at each month-end I manually record the position of cell A1 at month end in cells C1 through C12 repsenting the 12 months of the year.
Example: A1 @ 31/01/07 = 50 therefore cell C1 = 50 A1 @ 28/02/07 = 45 therefore cell C2 = 45 and so on for 12 months
what I would like to do is automate this process to automatically capture the value at month end into cells "c" and once captured, the figure to remain absolute for that cell/month and to ignore changes in Cell A1 that may subsequently occur.
I have a list of petroleum accumulations with three types of data: Reservoir depth, Net Pay and Gas-oil ratio. for each accumulation, the number of reservoirs within each can vary. So I may have a accumulation with only one set of those stats, or an accumulation with 20.
I need the program to go down an alphabetized list (8000 entries long) and after every unique accumulation name average the values of the stats(which are in three separate columns) then put it in one row perhaps beginning in Column M or another sheet. So that I have a list of accumulations with the average of those stats, one entry per accumulation name.
Is there a way I can interupt the save process depending upon certain conditions. For example if a particular cell contains a specific value and the user attepts to save the worksheet I would like to interupt the process asking "Do you really want to save this sheet now?" with the options to continue or abort. I think I can manage the message box or userform but don't know how to initiate it when save is selected
I wanted to know If there a way to hide the process of executing macrob (vba)? I have a long macro that runs on a file and I want to hide the process. I know there is an option to it, I just don't know it.
I have a list of rows with Yes and No check boxes. Columns "T" and "U" contain the output of these checkboxes (i.e. "TRUE" or "FALSE"). At the end I have a button which I'd like to run this code. Essentially, I want to code to go through row by row and do the following:
1. Check to see if both boxes are blank or if both boxes are checked - and if so set the background color to yellow 2. Otherwise set the background color to clear
I have written the following code which accomplishes this task for Row 9. Is there an easy way to repeat this process for rows 10-15 without copying all the text and changing the row numbers?
Then, any way, say "If all the rows (i.e. 9-15) have clear background colors (which would mean that they all 'passed' the test of having exactly one and only one box checked in the row), then run another macro which I have written"?
Rem Check to see if neither box is checked or if both boxes are checked and sets background color to yellow, otherwise sets background color to clear.
If (Range("T9").Text = "") And (Range("U9").Text = "") Or (Range("T9").Text = "TRUE") And (Range("U9").Text = "TRUE") Or (Range("T9").Text = "FALSE") And (Range("U9").Text = "FALSE") Then Range("B9", ("G9")).Interior.ColorIndex = 6 Else: Range("B9:G9").Interior.ColorIndex = 0 End If
what excel can process without having the program crash. Our company is using an old dos program to store payroll information (don't ask -they won't change it). Anyway - I have the ability to use pervasive software to pull the information into excel.
The problem here - is that the information is stored line by line. And in order for me to get useful information out of it, I need to sort those lines by date and a task code.
I currently have a great VBA option to append records to the appropriate Access table. One problem I'm running into though is getting by the unique record number. Currently a user submits a record to a DataStorage tab which is then appended to the database. However, we would like to keep some of the old records (maybe a weeks worth: approx 100 records) on that tab in case any problems arise in the append transition. But we don't want duplicate records in the table.
Is there a way to modify the below code to kick out the duplicates and only bring in new records to the table? I will assign the table the requirement to only bring in unique new records but the code errors in Excel.
Sub RunAccessQueries_ADO() Dim cn As ADODB.Connection Dim cm As ADODB.Command
dbPath = "C:Documents and SettingsUSERDesktop" dbName = "MyAppendTest.mdb"
Set cn = New ADODB.Connection Set cm = New ADODB.Command
With cn .CommandTimeout = 0 .Provider = "Microsoft.Jet.OLEDB.4.0;" .ConnectionString = "Data Source=" & dbPath & dbName .Open End With
With cm .CommandText = "MyApp" .CommandType = adCmdStoredProc .ActiveConnection = cn .Execute End With cn.Close ActiveWorkbook.RefreshAll MsgBox ("Append Update is Complete") End Sub