0

Excel で範囲を選択するコード行を書き込もうとしていますが、範囲のインデックスに構文エラーがあります。何か提案はありますか? また、配列に格納されている 2 つのファイル名を連結したファイル名を使用して、XML ファイルを xlsm ファイルとして保存しようとしていますが、同様のエラーが発生します。

        Range (Allfiles(index)).select 'Allfiles is an array containing the file names ' type error


        Activeworkbooks.saveas "c:\Allfiles(1):&:Allfiles (count).xlsm", fileformat=52 'error
4

1 に答える 1

0

「エラー」が発生した場合、便利な「エラー メッセージ」が問題の原因についてのヒントを提供します。このメッセージを読んで対応することで、コードを段階的にデバッグできます。

Activeworkbooks.SaveAs "c:\Allfiles(1):&:Allfiles (count).xlsm", FileFormat = 52
'                                           Variable not defined ^

VBA で引数を指定する方法は、:=ではなくwith=です。それを修正して、もう一度実行しましょう...

Activeworkbooks.SaveAs "c:\Allfiles(1):&:Allfiles (count).xlsm", FileFormat:=52
' ^ Variable not defined

ActiveWorkbookではなくと呼ばれていActiveworkbooksます。それを修正して、もう一度実行しましょう...

ActiveWorkbook.SaveAs "c:\Allfiles(1):&:Allfiles (count).xlsm", FileFormat:=52
'                                     ^ The file could not be accessed.

あなたが実行しているOSを確実に知ることはできませんが、C:\. :Windows のパスでは、これが不正な文字であることをご存知でしょうか?

とにかく、このファイルをどこに保存しようとしているのかわかりません。私の最善の推測:

ActiveWorkbook.SaveAs "C:\" & Allfiles(1) & Allfiles(UBound(Allfiles)) & ".xlsm", _
    FileFormat:=52

コードの最初の行については、Range (Allfiles(index)).Selectあなたがそこで何をしようとしているのかわかりません。Excel-VBA のヘルプ ファイルを読んで、何Rangeが機能するかを確認してください。

于 2011-08-22T07:50:04.070 に答える