I have a process that is using Excel 365. It was fast with previous versions of Excel. I noticed how slow it is to find the cell and paste data into it; more than 40 seconds in some cases. Delay accumulates as I have to do that to many cells. I am using Excel object in blue prism. What can I do to change things to recognize Excel cell faster?
The issue was with Blue Prism update. the update was not installed correctly on the machine that some libraries to handle office were not functioning well. the issue was resolved with a fresh install of that update.
Related
I have two PCs, both have Office 365 installed (Build 16.0.14827.20180, 32bit).
Both load the same Excel sheet from the network.
First PC shows the error correction correctly, cells are marked with a little green triangle on the left top.
Second PC, with exact the same Excel settings as the first, does not show/mark those errors ...
It only happens with that one file, using another file or just doing a fresh spreadsheet shows the errors.
I reseted the "ignored errors" in options, didn't help.
An idea(s) guys?
Thanks, Tom
I have an Excel file with multiple sheets that are for the most part protected. The user can only edit certain cells and all adding/copying/duplicating/deleting of rows is handled via buttons and VBA.
The code for inserting a row:
ActiveCell.EntireRow.Copy
ActiveCell.EntireRow.OffSet(1).Insert xlShiftDown
and deleting a row:
Selection.EntireRow.Select
Selection.Delete xlShiftUp
There's a large number of Sum(...) and other formulas in the Excel file. In general, those update correctly. Sum(B5:B10) correctly references Sum(B5:B15) when you add 5 rows to it.
Every now and then there seems to be a bug that corrupts a lot of the formulas and shifts them incorrectly (e.g. Sum(B4:B14)).
This happens occasionally and on specific PCs. I can't reproduce them on any of my machines.
On most of the User-PCs it works. On some machines it seems to appear more regularly, but still not reproducable on demand.
Most users report that it happens after they click the insert-row & delete-row buttons often in a short time.
Information from one user who encountered this problem:
Operating-System: Windows 10, 64-bit;
Excel-Version: Excel 2016, 32-bit
Excel had been opened from mail and was then saved on Disk.
Programs open at the same time problem occurred:
One other Excel file (without macros), Outlook, IE, Adobe, Skype
As far as I know there are no "automatic tools" like AutoHotKey or something along the lines installed.
When I tried to insert a new sheet, I was given multiple options which I could choose from. One is obviously "Worksheet", another is called "MS Excel 4.0 Macro". So I chose "MS Excel 4.0 Macro", and it looks exactly the same as a new worksheet. I'm just curious what is the difference between a regular worksheet and MS Excel 4.0 Macro sheet?
History
From its first version Excel supported end-user programming of macros (automation of repetitive tasks) and user-defined functions (extension of Excel's built-in function library). In early versions of Excel, these programs were written in a macro language whose statements had formula syntax and resided in the cells of special-purpose macro sheets (stored with file extension .XLM in Windows.) XLM was the default macro language for Excel through Excel 4.0. Beginning with version 5.0 Excel recorded macros in VBA by default but with version 5.0 XLM recording was still allowed as an option. After version 5.0 that option was discontinued. All versions of Excel, including Excel 2010 are capable of running an XLM macro, though Microsoft discourages their use.
https://en.wikipedia.org/wiki/Microsoft_Excel
The purpose of MS Excel 4.0 Macro sheets is to run legacy Excel 4.0 macros. Microsoft replaced Excel 4.0 Macros with VBA in 1993, but they can still be run. Now (almost 30 years later), this is most extensively used by malicious parties (hackers).
For example, you can enter the following into A1:A2:
=EXEC("calc.exe")
=HALT()
Then, to run it (to open the Calculator) you would need to right click A1 and choose Run... -> Run. All the formulas downwards from the clicked cell will be evaluated.
PDF containing the complete Excel 4.0 macro functions reference
Answer.
The old way was to record a macro as a chain of events, without VBA.
My story.
I made heavy use of old-style macros and I have had hundreds of them. When Microsoft shifted macros to VBA they offered no way to convert the old ones, and so I lost all of them at a glance. One of my macros was highly complex and ran like a dream on Mac SE. I regarded it as highly precious in scientific value as it worked using Tritium observations in ground-water aquifers with a huge input function data sheet. It calculated the residence time of ground-water using several mathematical models as well as updating five charts that plotted the output data using introduced by the user for the used models. I saved this macro file to a Windows PC using a complex procedure via the EMU emulations hardware, a modern Mac, and a modern Windows PC, however the file will not run as it was written before the introduction of VBA. It is such a sad loss, and would go as far as considering the loss as criminal.
Please don't delete this story until I have backed it up somewhere. When I have posted it somewhere more appropriate, I promise to delete it.
I met an issue when I use range.calculate() in VBA.
The following is situation:
32bit Excel 2010 version; Windows 7
50K records as input, being processed one by one;
When running, excel uses ~400M memory;
Links are built in excel tab; the links among cells don't follow from left to right, top to down rule. there are many back and forth links.
call worksheet.range.calculate() in VBA for the calculations in the cells;
Code:
...
Application.Calculation = xlManual
Worksheets("Curve").Range("A1:BO600").Calculate
...
Problem:
Based on Microsoft instruction, Range.Calculate in Excel 2010 resolves the dependencies within the range being calculated. But based on my debugging, Range.calculate() calculates cells from left to right and top to bottom, ignoring all dependencies, just as excel 2000 version. Then the calculation of next record will use the result of the previous one (stored in excel cells now) rather than the refreshed result of its own record since the depended cells may have not been calculated.
It doesn't recur every time when I run my models. I met this issue 2 months ago, after restarted my PC with applying some windows updates automatically, the issue disappeared and Range.Calculate() works as expected in the past 2 months. Now the issue comes back and I could not get rid of it with PC shutdown, or excel closing.
More importantly, if I switch to worksheet.calculcate(), the issue has gone but the running takes more time.
Any clue on this problem? Thanks a lot in advance.
Leal
I have a very old VB6 application, we have lost the source code. It can call excel 2003, 2007 to
Launch excel
Insert value to the new sheet cells.
I guess it use com to automate the excel, anyway we lost the source code and cannot contact the programmer.
After we upgrade the office to 2010, it cannot insert value anymore, just a blank sheet ....why?
Do anyone have the same experience as me? old win32 program work on excel 2003/2007 , but don't work on 2010.
Attach screenshot for your reference:
when using excel 2007 , it can fill the value to sheet.
when using excel 2010 , it cannot, and the windbg show some exceptions, how can I troubleshoot it?
Even if you could trace/capture, I don't think that would help you much.
Based on the simplicity of the code, you would be better off remaking it from scratch. If it's something proprietary and very useful, you should probably consider having both versions installed at the same time, which has worked for me just fine.