Programmatically Switching Between 2003 And 2007 Excel
Jul 25, 2013I have both Excel 2003 and Excel 2007 installed on my computer, using VBA code is it possible to specify which version I open an excel document in?
View 2 RepliesI have both Excel 2003 and Excel 2007 installed on my computer, using VBA code is it possible to specify which version I open an excel document in?
View 2 RepliesI have a series of macros I have built to automate some report manipulation at my office. One of the macros I built inserts formulas into specific columns. When I run this macro, all the formulas, save one, are populated perfectly into the column they need to be in. This particular formula is swiched over to R1C1 Reference Notation.
In the workbook I built the macro in, it inserts the formula in the correct notation. When I run the macro in a different workbook, this one formula is converted to RC Notation and then is displayed as text (since the workbook is not set to the R1C1 Reference style option).
Is there a bug in my VBA code? If so, how can I correct this?
I use Excel 2007. Macros are saved in my Personal.xlsb workbook. All other forumlas populated by the macro work correctly.
I recently upgraded from Excel 2003 to 2007, and the worksheet change procedure that i have embedded in my worksheet no longer fires when the criteria are met. If and if I fix it to work in 2007, will it still work in 2003?
Here is my procedure:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngCell As Excel.Range
If Not Intersect(Target, Range("C19:R19")) Is Nothing Then
For Each rngCell In Intersect(Target, Range("C19:R19"))
If rngCell.Value = "BLACK" Then
MsgBox "Please select a shading style", , "Shading Style Required"
End If
Next rngCell
End If
End Sub
I've created a workbook with code to email it to a reviewer then back to the originator when reviewed (along with other editing functions etc.). The problem - The originator is working in Excel 2003, the reviewer in 2007. The macros work great until the reviewer sends it back. I have not been able to figure out which FileFormat:= ???? to use when I SaveAs prior to emailing as an attachment. My Excel 2003 doesn't recognize the .xlsm file and other formats are eliminated the vba/macro coding
View 4 Replies View RelatedI have a workbook in excel 2003 which I had been running the following macros (listed below). We recently upgraded to Excel 07, and neither are working. When I try to run them, the "debug" option highlights the following line in the sort macro "Range("A2:z" & lastcell).Sort key1:=.Columns(1)". This is driving me crazy, as the macros worked perfectly under the older version of Microsoft. Is there an issue with crossfunctionality between '03 and '07'.
Private Sub Worksheet_change(ByVal target As Excel.Range)
If target.Column = 1 Then
ThisRow = target.Row
startRow = 1
i = 1
Set ws = ActiveSheet
maxRow = Cells.SpecialCells(xlLastCell).Row
maxCol = Cells.SpecialCells(xlLastCell).Column
ActiveSheet.UsedRange.Interior.ColorIndex = xlNone
Do While i
So I have a bunch of not so simple excel sheets in a Excel file. I'm trying to automate the testing of these (right now, I'm doing the testing manually).
To simplify, let's say there are two sheets - both of them have a cell called "Total" at the end, which is nothing much a total of some column. My test is to check if these two totals are the same. We don't know the number of rows before hand (it is coming from a database). The way I'm doing right now, is searching for the cell containing the text "Total" getting it's row and column, and adding 1 to the column, to get the cell that actually has the total value. Do this for both the sheets, and I have both values, and it's easy to compare now.
If someone changes the text from "Total" to "Totals" then this will fail.
Questions:
1. Is there a better way to do this? Say, setting a unique parameter or something on the cell that actually has the total value, and using that unique parameter to search the cell?
2. Or is there a totally different (better) approach to this type of testing?
I am using microsoft excel 2010. I currently have workbooks for various things with 46 worksheets in each one (each worksheet is a store). I usually go into the worksheets daily and dump numbers into each sheet. I was wondering if there was a way to switch worksheets but keep the cell the same when i switch to a different sheet to make it much easier to dump the numbers in.
For example: Say in worksheet1 i am in cell A34 to dump in a number. When i switch to worksheet2 i want to be in the same cell to dump the next number for the next store and so on and so forth for the next 44 sheets.
I have some schedules set up with multiple formulas and macros (originally setup in 2003) however when attempting to make this a 2007 file when I go to copy a sheet to create another schedule I get the message “A formula or sheet you want to move or copy contains the name “xx”, which already exists on the destination worksheet. Do you want to use this version of the name? To use the name as defined in the destination sheet, click yes. To rename the range referred to in the formula or worksheet, click no, and enter a new name in the Name Conflict dialog box.”
View 2 Replies View RelatedI would like to send a .xls file created in Excel 2007 to a user who will work with this file on a PC that runs Excel 2003. Will they be able to open and use a file created in a newer version of Excel?
View 5 Replies View RelatedI've been putting together an automated spreadsheet that has external data sources to SQL. I have been having some strange problems with it between versions of Excel. Unfortunately, the company's standard is 2003 but quite a lot of the company use 2007. I have been developing this report on 2007, the server that runs the automated version of the spreadsheet runs 2003 (and cannot be upgraded beyond 2003 as it is running Server 2000!).
The template opens fine on my 2007 machine and all development work has been run on my machine including the downloading of data. The VBA script runs something like
refresh datasources ........
My company used to have Excel 2003. I had a PivotTable in a worksheet that accessed data in another, completely different worksheet. When we converted to Excel 2007, I saved many of my Excel files from .xls to .xlsm. My PivotTable that once accessed data from another .xls file is still trying to access that same .xls file. What I want, though, is for it to access the new .xlsm file.
View 9 Replies View RelatedI have a spreadsheet that collates a list of data from week order and puts them in a graph. I have a macro created that basically does the graph, it works fine in 2003 but not in office 2007. I get an error "Run Time Error '1004' Application-defined or object-defined error, then when I click the debug button it highlights "ActiveSheet.ChartObjects.Delete". I'm not sure if when its trying to create a new graph its attempting to delete the old one and isnt deleting it? The full code for the macro is below:
Sub updateStuff()
Dim searchResult As Range 'Result of the find operation - to check if it has worked or not
Application.ScreenUpdating = False
If SheetExists("OTIF Chart") Then
Application.DisplayAlerts = False
Sheets("OTIF Chart").Delete
Application.DisplayAlerts = True
End If
Sheets("OTIF's").Select
Range("B4:N4").Select
Selection.Copy
Sheets("Graph").Select
Range("B1").Select................................
I created a Macro in 2007 and it turns out I needed to develop it in 2003. Now none of my code works and I am trying to convert it. I would appreciate any assistance determining what needs to be corrected and how to correct it. Here iare two samples that is repeated throughout my code.
'Delete anything currently in spreadsheet
Application.CutCopyMode = False
Range("A2:N1048576").ClearContents
Range("A2").Select
ActiveWorkbook.Save
Windows(BBSource).Activate
lastRow = Range("C14").End(xlDown).Row
Range("C14:C" & lastRow).Copy
Windows(BBForm).Activate
Range("J2").PasteSpecial Paste:=xlPasteValues
Range("K2").Value = "PCS"
Range("K2:K" & lastRowDest).FillDown
For a particular requirement I want to utilise the colours.
ANd therefore I need to know, how many colours are present in the Colour Palette in both 2003 and 2007 and which colours would be same if I make the File in 2007?
Are there 60 colours in 2003?
I want to install the new Office 2007 onto my computer.
Will my existing spreadhseets be work with the new version?
But most importantly....If I make a spreadhseet with VBA code and send to to a user with the Office 2003 version - will it still run OK?
I have read some information that really scares me.It seems that Excel 2.003 is still superior to Excel 2.007. The comparison table is here: http://www.add-ins.com/Excel%202003%20versus%202007.htm
View 3 Replies View RelatedI have this formula :
=SUM(F25:M25*$F$6:$M$6)
It works great in xl2003, and it works properly in XL2007 until you try and change it. I changed the column F to Column D and now it gives me a #value.
How can I re-work this for xl2007?
I found that there is an issue with saving a workbook where there seems to be an issue between 2003 and 2007.
The code I used:
I'm struggling constantly with the Excel 2007 I use, and the Excel 2003 that another group uses.
I'm dealing with large files; 200000 to 300000 rows often.
I wish there was a setting or way to automatically force excel 2007 to create a file in 2003 format.....meaning I want 260000 rows to automatically be divided up into 4 sheets limited to 65K each. 260001 rows would be put into 5 sheets, so that I could save it as an excel 2003 file.
Is there also a way to do this from access 2007 exported to excel?(I know that's an access question and probably outside the bounds of this board).
I created this code in Excel 2007 now i want to put it on my other users machines they are using Excel 2003 and i keep getting debug errors can someone help
Sub setup()
' Keyboard Shortcut: Ctrl+Shift+C
'add sheet
Sheets.Add After:=Sheets(Sheets.Count)
'format headers
With Range("A1")
.Value = "Job Name"
.Name = "Arial"
End With
With Range("A2")
.Value = "Quote #"
.Name = "Arial"
End With
With Range("A3")
.Value = "Job #"
.Name = "Arial"
i created an xl file in 2003 with a userform. but when i open it in xl2007 the form does not appear.
is there a trick to seeing the userform i created in the xl2003 prog?
I am trying to find a method of adding a combo box and populate it that works for Excel 2000, 2003 and 2007. The following works for Excel 2007 but did not work on a machine installed with Excel 2003.
With Sheets("Tasks").ComboBox1
.AddItem "By Task Number"
.AddItem "By Date Task Assigned"
.AddItem "By Date Due for Completion"
.AddItem "By Status"
.AddItem "By Status and Date Due for Completion"
End With
The below code works fine in excel 2003 but when I run it in excel 2007 it crashes excel.
(Microsoft Excel has encountered a problem and needs to shut down etc etc)
Private Sub CommandButton2_Click()
With Sheets("Sheet1")
.Range("A1").Value = ComboBox2.Text
.Range("C2").Value = ComboBox2.Text
.Range("C4").Value = TextBox5.Text
.Range("D1").Value = TextBox5.Text
.Range("C5").Value = TextBox7.Text
.Range("C6").Value = TextBox9.Text
.Range("C7").Value = TextBox13.Text
.Range("C8").Value = TextBox11.Text
.PageSetup.RightFooter = "&""Arial,Italic""&9" & ComboBox1.Text
End With
With Sheets("Sheet2")
.Range("G1").Value = ComboBox1.Text
End With
Unload Me
End Sub
I have tried all kind of changes that I thought might make a difference,
like changing .Text to .Value and vv,
Here is what I have
=_xlfn.SUMIFS('COMMISSIONABLE INTERNAL SALES'!$N:$N,'COMMISSIONABLE INTERNAL SALES'!$A:$A,$A$1,'COMMISSIONABLE INTERNAL SALES'!$O:$O,I$1,'COMMISSIONABLE INTERNAL SALES'!$D:$D,$A2)
I need it converted to something usable in 2003
Is is possible to write code that is compatible on both versions.. ie
If Application.Version > 11 Then
' excel 2007 code
Else
' excel 2003 code
End If
I have developed a reporting spread for a client which contains automated chart generation, all done with VBA. I have read numerous threads of issues when upgrading.
What they want is the chart VBA to be upgraded so that it can be run on both versions.
Is this possible, or will it fail at run time?
I have run into a brick wall with InStr, Replace, and Len. I take the data from the active cell (formatted as text). I need to cleanup the data and do further massaging of it. In testing cleanup code, I get behavoirs and results I simply don't understand and can't figure out from hours searching forums many places.
The following simplified example commented code can be cut/pasted into a new spreadsheet module and should be self-explanatory. Example data is in the comments. Data is entered by multiple users and multiple sources. Therefore there is no control over the input quality so extraneous characters and multiple repeated periods and spaces can show up anywhere.
I always used Office 2003 .. I just installed Office 2007 to try it out. But everything doesn't work in Excel 2007, which does work in Excel 2003.
I added an example of the list, but here are the codes:
Sheet1
With the kind help of this forum, I put together a nice business tool that has a fair amount of automation via macro buttons, etc. It works great in XL 2007 but some users are having issues in 2003. I appreciate this is quite general but are there significant conflicts / differences with coding in these two different versions?
View 6 Replies View Relatedin adapting the previous code to MS Excel 2007. I have found that the "application.filesearch" object no longer exist in 2007! The code goes to a file path and extracts the text and places the data in the specified excel column.
here's the original code as given by Parry:
[url]
i installed office 2007 beta version on my computer (for testing)
together with the already existing office 2003.
now the default program of my excel files is excel
2007 beta version (not excel 2003).
can i change this behavior so that when i open an excel file the
default program would be excel 2003 instead of excel 2007
and whenever i want to open a file using excel 2007 i do
so by right clicking the file & choosing excel 2007 from the
open with list.