это хорошая идея использовать Excel 2003 для программирования, потому что эти файлы с кодом VBA работают в Excel 2007?
Абхи
Это зависит от того, что именно вы планируете делать.Есть много вещей, которые вы можете сделать в Excel 2007, которые вы не можете сделать в Excel 2003. Итак, как вы будете кодировать это в Excel 2003. Если вы хотите делать базовые вещи, то да, вы можете кодировать в Excel 2003, чтобы он работал с Excel2003/2007 / 2010.
Также вполне естественно, что если вы кодируете в Excel 2003, то файл будет сохранен с расширением xls.Если вы планируете кодировать в Excel 2007/2010, сохраните файл как .xls, чтобы он работал с Excel 2003.
FOLLOWUP
Это классический примерчто я имею в виду.Если вы хотите отсортировать данные в Excel 2007 и записать макрос, это то, что вы получите, но это не сработает в 2003 году.
Sub Macro1()
'
' Macro1 Macro
'
'
Columns("A:C").Select
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A2:A9"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A1:C9")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Однако, если вы запишите макрос в Excel 2003, выполучить что-то вроде этого ( делает это из памяти , так как в противном случае мне придется перезагрузить компьютер, чтобы записать макрос LOL).Теперь этот фрагмент кода будет работать с каждой версией:)
Sub Macro1()
'
' Macro1 Macro
'
'
Columns("A:C").Select
Selection.Sort Key1:=ws1.Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub
HTH
Sid