Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Какие то непонимания у меня с EXCEL / 8 сообщений из 8, страница 1 из 1
17.09.2007, 15:52:27
    #34805451
farbox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какие то непонимания у меня с EXCEL
Господа, доброго дня вам!
Возникла вот такая трудность, никак не понимаю как её решить.
Делаю копирование листа из одной книги в другую, ну ещё попутно небольшие манипуляции.
вот код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
Sub Макрос3()
    
    Workbooks.Open Filename:= _
        "D:\Структура.xls"
       
       Application.CutCopyMode = False
       Worksheets( 1 ).Activate
       Cells.Select
       Selection.Copy
       
       'отключаем сообщения об ошибках
       Application.DisplayAlerts = False
       ActiveWorkbook.Close
       Application.DisplayAlerts = True
        'удаляем
        Workbooks.Add
        Visible = False
        Workbooks( 1 ).Activate
        'отключаем сообщения об ошибках
        Application.DisplayAlerts = False
        'удаляем листы
        For i& =  1  To Sheets.Count -  1 
           Sheets( 1 ).Delete
        Next i&
        Application.DisplayAlerts = True

        Sheets( 1 ).Name = "XXXXXX"
        ActiveSheet.Paste ' вставляем
        Application.CutCopyMode = False
        
        'отключаем сообщения об ошибках
        Application.DisplayAlerts = False
       'сохраняем
        ActiveWorkbook.SaveAs Filename:="C:\Program Files\ARIS6.2\for_Aris\ExcelTemp.xls"
       'включаем сообщения об ошибках
        Application.DisplayAlerts = True
       
        Application.Quit
End Sub


Вопрос:
1) Копирование происходит только если я макрос выполняю пошагово....., если я не пошагово его выполняю то при открытии результирующего скрипта мне выдаётся сообщение - "Отключить макросы или нет", при любом ответе у меня документ не открывается и никаких ошибок (остаётся открытым только приложение)
КАК ЭТО ИСПРАВИТЬ ?

2) Если же я всётаки макрос выполняю пошагово, то получаю в результирующем файле скопированные данные (и только доанные !) без форматирования (без границ , таблиц).
ЧТо у меня не так в этом случае ?

З.Ы. макрос который я запускаю - хранится в PERSONAL.XLS


Господа , есть у кого нить догаткиб что происходит ?

Я знаю, что ничего не знаю.
Сократ.
...
Рейтинг: 0 / 0
17.09.2007, 17:46:58
    #34805931
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какие то непонимания у меня с EXCEL
О Господи....
Код: plaintext
1.
2.
3.
4.
5.
6.
sub macro3()
    workbooks.open filename:="d:\structure.xls"
    activeworkbook.worksheets( 1 ).copy
    activesheet.name = "XXXXXX"
    ActiveWorkbook.SaveAs Filename:="C:\Program Files\ARIS6.2\for_Aris\ExcelTemp.xls"
    application.quit
end sub
все
...
Рейтинг: 0 / 0
18.09.2007, 09:12:31
    #34806802
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какие то непонимания у меня с EXCEL
Еще совет ТС : используйте директиву Option Explicit.
...
Рейтинг: 0 / 0
19.09.2007, 08:24:29
    #34809940
farbox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какие то непонимания у меня с EXCEL
Господа, может конечно немного не понятно выразился ...
Вот задача:
Открыть некую книгу Эксэль (допустим X) , и скопировать все её не пустые листы в другую книгу (Y) (конечно предварительно тоже её открыв). Предворительно книгу Y нужно очистить от пустых листов (стандартно идут 3 пустых листа при создании книги), оставив только один лист.

помогите с реализацией, как правильно и быстро это сделать , и с меньшим количеством морганий экрана?

Я знаю, что ничего не знаю.
Сократ.
...
Рейтинг: 0 / 0
19.09.2007, 09:14:42
    #34810003
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какие то непонимания у меня с EXCEL
farboxскопировать все её не пустые листы в другую книгу (Y)

Код: plaintext
1.
2.
3.
4.
For each ws in Workbooks("X").Worksheets
...
if cells.SpecialCells(xlCellTypeLastCell) is range("A1") then ws.Copy Before:=Workbooks("Y").Sheets( 1 )
next ws

авторПредварительно книгу Y нужно очистить от пустых листов (стандартно идут 3 пустых листа при создании книги), оставив только один лист.

Это лучше сделать после копирования листов из книги Х, чтобы удалить все пустые листы книги Y.

автор и с меньшим количеством морганий экрана?
Application.ScreenUpdating =False
Потом не забыть Application.ScreenUpdating =True
...
Рейтинг: 0 / 0
19.09.2007, 13:32:05
    #34811110
farbox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какие то непонимания у меня с EXCEL
К сожалению конструкция для определения пустой или не пустой лист не работает.

Код: plaintext
1.
cells.SpecialCells(xlCellTypeLastCell) is range("A1")

МОжет что то я делаю не так ?
Может есть какие нить другие способы проверить лист на пустоту ?

Я знаю, что ничего не знаю.
Сократ.
...
Рейтинг: 0 / 0
19.09.2007, 21:41:32
    #34812763
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какие то непонимания у меня с EXCEL
что то я намудрил
cells.SpecialCells(xlCellTypeLastCell).Address =range("A1").address
...
Рейтинг: 0 / 0
19.09.2007, 22:00:26
    #34812786
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какие то непонимания у меня с EXCEL
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Какие то непонимания у меня с EXCEL / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]