Сохранить как синтаксис и диапазон.выбрать синтаксис индекса? - PullRequest
0 голосов
/ 21 августа 2011

Я пытаюсь написать несколько строк кода, которые выбирают диапазон в Excel, но индекс в диапазоне имеет синтаксическую ошибку, какие-либо предложения? Также я пытаюсь сохранить 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

1 Ответ

0 голосов
/ 22 августа 2011

Когда вы получаете «ошибку», полезное «сообщение об ошибке» подскажет вам, в чем проблема.Прочитав это сообщение и действуя по нему, вы можете пошагово отлаживать свой код.

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

Способ указания аргументов в VBA - с :=, а не =.Давайте исправим это и запустим снова ...

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.

Я не могу утверждать, что точно знаю, на какой ОС вы работаете, но, учитывая C:\, я предполагаю некоторую разновидностьОкна.Возможно, вы знаете, что : является недопустимым символом в путях в Windows?

Во всяком случае, я не уверен, где вы пытаетесь сохранить этот файл.Мое лучшее предположение:

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

Что касается первой строки кода, Range (Allfiles(index)).Select, я понятия не имею, что вы пытаетесь там делать.Вы можете прочитать файл справки Excel-VBA, чтобы узнать, что делает Range.

...