VBA中的Excel文件的文件名

问题描述:

在Excel 2003中文件以扩展名.xls保存,并在Excel 2007 .xlsm中启用(宏启用)然后,我们如何使用VBA代码在Excel 2003和Excel 2007上运行我们的Excel文件?使用excel 2003进行编程是个好主意,因为那些带有VBA代码的文件可以在excel 2007上运行?我不知道他们是否在工作。我是VBA编程的新手。VBA中的Excel文件的文件名

是好主意,使用Excel 2003的编程,因为与2007年的Excel VBA代码的工作这些文件?

ABHI

它实际上取决于究竟你打算申请做。在Excel 2007中有许多事情你不能在Excel 2003中完成。那么你如何在Excel 2003中编写代码。如果你想做基本的事情,那么是的,你可以在Excel 2003中编写代码,以便它可以在Excel中使用2003/2007/2010。

此外,它是自然而然的,如果你在Excel 2003中编码,那么该文件将被保存为xls扩展名。如果您打算在Excel 2007/2010到代码,然后将该文件保存为.xls的,以便它与Excel 2003

随访

作品这是我的意思一个典型的例子。当你想在Excel 2007中的数据进行排序,如果您录制宏这是你得到了什么,但如果你记录在Excel 2003中宏这将不会在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 

不过工作,你会得到什么像这样(从内存这样做,否则我将不得不重新启动我的电脑来记录宏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

希德

+0

@亚洲时报Siddharth所以,编程工作在Excel 2003中具有兼容的Excel 2007即使分机不.XLSM? – 2012-02-27 03:45:49

+0

@AhhijitShelar:是的。事实上,如果你打算为所有版本做一些严肃的编程,那么我会建议使用Windows Virtual PC安装所有版本(2003到2010)。所以,你可以在分发之前测试它:) – 2012-02-27 03:55:33

+0

@AhhijitShelar:让我给你一个经典的例子:) 2分钟,我会更新上面的帖子 – 2012-02-27 03:59:52