Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / При открытии книги Excel очищать все ячейки / 17 сообщений из 17, страница 1 из 1
08.10.2009, 11:33
    #36239230
Inkeria
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При открытии книги Excel очищать все ячейки
Здравствуйте! При нажатии кнопки в Access открывается определенная книга Excel. На кнопке такой код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Private Sub Кнопка0_Click()
Dim XL As Object
Dim XLS As Object
Set XL = CreateObject("Excel.Application")
XL.Visible = True
Set XLS = XL.Workbooks.Open("I:\History.xls")
End Sub
Подскажите, пожалуйста, как программно очистить все данные с определенного листа?
...
Рейтинг: 0 / 0
08.10.2009, 11:57
    #36239314
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При открытии книги Excel очищать все ячейки
> Автор: Inkeria
> Подскажите, пожалуйста, как программно очистить все данные с определенного листа?

Лихко
1 - Включаем запись макроса, кликаем по серому квадратику в левом верхнем углу, между заголовком столбца А и заголовком
строки 1(выделяется все ячейки листа) и нажимает клавишу Delete.
2 - Останавливаем запись макроса и смотрим что получилось, после этого оптимизируем код и добавляем получившееся
заклинание очистки в Ваш код:
Код: plaintext
1.
2.
3.
...
Set XLS = XL.Workbooks.Open("I:\History.xls")
XLS.Sheets("Имя листа для очистки :))) ").Сells.ClearContents
End Sub
3 - Возвращаемся к распитию утренней чашечки кофе/чая(по вкусу)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
08.10.2009, 12:25
    #36239411
Inkeria
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При открытии книги Excel очищать все ячейки
Заклинание добавлено, чай выпит, а данные не очистились. Плюс к этому появилась ошибка в аксе "Object doesn't support this property or method" :)
...
Рейтинг: 0 / 0
08.10.2009, 13:12
    #36239568
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При открытии книги Excel очищать все ячейки
> Автор: Inkeria
> Заклинание добавлено, чай выпит, а данные не очистились.

Странно, факир, вроде ещё трезв.

> Плюс к этому появилась ошибка в аксе "Object doesn't support this property or method" :)

На какой строчке ругается? У тебя точно микрософт ексель?
Хм, глупый вопрос, точно ексель.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
08.10.2009, 13:21
    #36239597
Inkeria
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При открытии книги Excel очищать все ячейки
Игорь, может я че-то не то делаю? Я так понимаю, что фактически тот макрос, который я делала в экселе, никакой роли не играет. Т.о. мне просто нужно всавить строчку
Код: plaintext
1.
XLS.Sheets("Имя листа для очистки :))) ").Сells.ClearContents
в код?
Экселт точно микрософт))))
...
Рейтинг: 0 / 0
08.10.2009, 14:21
    #36239790
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При открытии книги Excel очищать все ячейки
> Автор: Inkeria
> Игорь, может я че-то не то делаю? Я так понимаю, что фактически тот макрос, который я делала в экселе, никакой
> роли не играет.

Тот макрос делает тоже что и эта строка и он нужен просто для показа того как самой находить ответы на простейшие
вопросы

> Т.о. мне просто нужно всавить строчку
>
> XLS.Sheets("Имя листа для очистки ").Сells.ClearContentsв код?

А у меня возник такой вопрос, а ты имя своего листа подставляешь вместо "Имя листа для очистки "
или так и скопировала?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
08.10.2009, 14:38
    #36239839
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При открытии книги Excel очищать все ячейки
Игорь Горбоносили так и скопировала?Ага, эксель не обрабатывает смайлики))

Jah loves you.
...
Рейтинг: 0 / 0
08.10.2009, 14:39
    #36239841
Inkeria
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При открытии книги Excel очищать все ячейки
Игорь Горбонос
А у меня возник такой вопрос, а ты имя своего листа подставляешь вместо "Имя листа для очистки " или так и скопировала?


Просто нереально догадаться, что там должно быть имя моего листа)))))) Шучу. Там именно имя моего листа.

Может какой то другой способ придумать? Мне нужно, чтобы этот лист открывался пустой, т.е юзер не учавствовал в процессе удаления. Может сдеалть не очистку листа, а удаление. А потом вставку листа с именем удаленного. Пробовала погуглить, че-то туда приклепать, но не выходит. Если не тяжело, подскажи, плиз, как быть?
...
Рейтинг: 0 / 0
08.10.2009, 15:02
    #36239891
astatsa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При открытии книги Excel очищать все ячейки
интересно, а может открыть новую книгу?
...
Рейтинг: 0 / 0
08.10.2009, 15:04
    #36239905
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При открытии книги Excel очищать все ячейки
> Автор: Inkeria
> Просто нереально догадаться, что там должно быть имя моего листа)))))) Шучу. Там именно имя моего листа.

Понятно

> Может какой то другой способ придумать? Мне нужно, чтобы этот лист открывался пустой, т.е юзер не учавствовал в
> процессе удаления. Может сдеалть не очистку листа, а удаление. А потом вставку листа с именем удаленного. Пробовала
> погуглить, че-то туда приклепать, но не выходит. Если не тяжело, подскажи, плиз, как быть?

Да можно и удалять/добавлять
Код: plaintext
1.
2.
3.
XLS.Sheets("Имя листа").Delete
With XLS.Sheets.Add
    .Name = "Имя листа"
End With
Только не понятно, почему не даботает очистка
Ну попробуй сделать как в записанном макросе
Код: plaintext
1.
2.
3.
Dim sh As Worksheet, r As Range
Set sh = Sheets("Имя листа")
Set r = sh.Cells
r.ClearContents
и скажи на каком месте ошибка

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
08.10.2009, 15:26
    #36239978
Inkeria
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При открытии книги Excel очищать все ячейки
Код: plaintext
1.
2.
3.
4.
Dim sh As Worksheet, r As Range
Set sh = Sheets("Имя листа")
Set r = sh.Cells
r.ClearContents

При компиляции этого кода в VB, выдает ошибку "User - defined type not defined" и выделяет "sh As Worksheet".

А с добавлением и удалением получилось! :)
Только как сделать, чтобы когда книга открывалась, лист удалялся по умолчанию, без вопроса екселя - "удалить или нет"?
...
Рейтинг: 0 / 0
08.10.2009, 15:34
    #36240018
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При открытии книги Excel очищать все ячейки
> Автор: Inkeria
> При компиляции этого кода в VB, выдает ошибку "User - defined type not defined" и выделяет "sh As Worksheet".

Я забыл, что у тебя акцесс, замени Worksheet и Range на Object

>
> А с добавлением и удалением получилось! :)
> Только как сделать, чтобы когда книга открывалась, лист удалялся по умолчанию, без вопроса екселя - "удалить или
> нет"?

Есть такое свойство DisplayAlerts, как думаешь, что оно делает

P.S. Не забудь обратно выствлять такие свойства

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
08.10.2009, 15:51
    #36240081
Inkeria
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При открытии книги Excel очищать все ячейки
Игорь, терь в варианте про очистку ругается на "Sheet", а в варианте про добавление/удаление я уже пробовала поставить DisplayAlerts = False (после или перед "XLS.Sheets("Spisok").Delete"), но все равно ексель справшивал удалять или нет.
...
Рейтинг: 0 / 0
08.10.2009, 15:59
    #36240105
astatsa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При открытии книги Excel очищать все ячейки
XLS.DisplayAlerts = false
XLS.Sheets("Имя листа").Delete
XLS.DisplayAlerts = true
With XLS.Sheets.Add
.Name = "Имя листа"
End With
...
Рейтинг: 0 / 0
08.10.2009, 16:03
    #36240127
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При открытии книги Excel очищать все ячейки
> Автор: Inkeria
> Игорь, терь в варианте про очистку ругается на "Sheet", а в варианте про добавление/удаление я уже пробовала
> поставить DisplayAlerts = False (после или перед "XLS.Sheets("Spisok").Delete"), но все равно ексель справшивал
> удалять или нет.

Сори, не смотря на то что в самом екселе давно не пишу, а больше управляю извне, регулярно забываю переключится на
"взгляд снаружи"
код должен быть таким:
Код: plaintext
1.
2.
3.
Dim sh As Object, r As Object
Set sh = XLS.Sheets("Имя листа")
Set r = sh.Cells
r.ClearContents
А DisplayAlerts = False нужно ставить ДО удаления и синтаксис должен быть от имени переменной содержащей ссылку на
объект Екселя
т.е. так:
Код: plaintext
1.
2.
3.
4.
5.
XL.DisplayAlerts = False
XLS.Sheets("Имя листа").Delete
With XLS.Sheets.Add
    .Name = "Имя листа"
End With
XL.DisplayAlerts = True


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
08.10.2009, 16:11
    #36240177
Inkeria
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При открытии книги Excel очищать все ячейки
Игорь, большое спасибо за помощь! Все работает наилучшим образом!) Извини, что затерроризировала глупыми вопросами!
...
Рейтинг: 0 / 0
08.10.2009, 16:12
    #36240180
Inkeria
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При открытии книги Excel очищать все ячейки
astatsa, твой вариант не пробовала, но спасибо за внимание!!!
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / При открытии книги Excel очищать все ячейки / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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