2012-02-27 13 views
2

Excel 2003ではファイルは拡張子.xlsとExcel 2007 .xlsm(マクロが有効)で保存されます。Excel 2003とExcel 2007の両方で実行されるVBAコードでExcelファイルを作成する方法? VBAコードを持つファイルがExcel 2007で動作するため、Excel 2003をプログラミングに使用することをお勧めしますか?彼らが働いているのか分かりません。私はVBAプログラミングの初心者です。VBA内のExcelファイルのファイル名

答えて

3

Excel 2007のVBAコードの作業と、それらのファイルので、プログラミングのためのエクセル2003を使用することをお勧めしますか?

Abhi

それは実際にあなたがするアプリケーションを計画して正確に何に依存します。 Excel 2007ではExcel 2007ではできないことがたくさんあります.Excel 2003ではそれをどのようにコード化しますか?基本的なものを実行したい場合はExcel 2003でコードを作成し、Excelで動作させることができます2003/2007/2010。

また、Excel 2003でコーディングする場合、ファイルはxls拡張子で保存されることは当然のことです。 Excel 2007/2010のコードを予定している場合、それはエクセル2003

フォロー

で動作するように、そして、これは私が何を意味するかの典型的な例です.XLSとしてファイルを保存します。あなたは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でマクロを記録する場合は、あなたが何かを取得しますこのように(をメモリからやっているので、そうでなければ私のPCをリブートして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

はシッダールタので、@、Excel 2003のプログラミングは拡張子が.xlsmない場合でも、エクセル2007との互換性を持っていますか? –

+0

@AbhijitShelar:はい。実際、すべてのバージョンで深刻なプログラミングを行う予定がある場合は、Windows Virtual PCを使用してすべてのバージョン(2003〜2010)をインストールすることをお勧めします。あなたが配布する前にそれをテストすることができるように:) –

+0

@AbhijitShelar:私はあなたに古典的な例を教えてください:) 2分と私は上記のポストを更新します –

関連する問題