Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/как выбрать всю рабочую тетрадь? - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 212»
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » как выбрать всю рабочую тетрадь? (Макросы/Sub)
как выбрать всю рабочую тетрадь?
lamak58 Дата: Вторник, 14.06.2016, 16:25 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
есть вот такой код
#
[vba]
Код
Sub SEVERNAYA_DOLINA()
Dim r As Range
Dim rgn As Range
Set rgn = Application.ActiveSheet.UsedRange
For Each r In rgn.Cells
If (r.Cells.Interior.ColorIndex <> 6) And (r.Cells.Interior.ColorIndex <> -4142) Then
r.Cells.ClearContents
End If
Next
End Sub
[/vba]
#

как его заставить работать по всей книге а не только по активной sheet?
 
Ответить
Сообщениеесть вот такой код
#
[vba]
Код
Sub SEVERNAYA_DOLINA()
Dim r As Range
Dim rgn As Range
Set rgn = Application.ActiveSheet.UsedRange
For Each r In rgn.Cells
If (r.Cells.Interior.ColorIndex <> 6) And (r.Cells.Interior.ColorIndex <> -4142) Then
r.Cells.ClearContents
End If
Next
End Sub
[/vba]
#

как его заставить работать по всей книге а не только по активной sheet?

Автор - lamak58
Дата добавления - 14.06.2016 в 16:25
Матраскин Дата: Вторник, 14.06.2016, 16:34 | Сообщение № 2
Группа: Друзья
Ранг: Обитатель
Сообщений: 341
Репутация: 63 ±
Замечаний: 0% ±

20xx
lamak58, добавить ещё один цикл по всем "sheet" (=

[vba]
Код
For Each Sh In ThisWorkbook.Worksheets
   .....
Next
[/vba]


в интернете опять кто-то не прав

Сообщение отредактировал Матраскин - Вторник, 14.06.2016, 16:38
 
Ответить
Сообщениеlamak58, добавить ещё один цикл по всем "sheet" (=

[vba]
Код
For Each Sh In ThisWorkbook.Worksheets
   .....
Next
[/vba]

Автор - Матраскин
Дата добавления - 14.06.2016 в 16:34
lamak58 Дата: Вторник, 14.06.2016, 16:46 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
пишет type mismatch :(

[vba]
Код
Sub SEVERNAYA_DOLINA()
Dim r As Range
Dim rgn As Range
Dim sh As Sheets
Cells.MergeCells = False
For Each sh In ThisWorkbook.Worksheets
If (r.Cells.Interior.ColorIndex <> 6) And (r.Cells.Interior.ColorIndex <> -4142) Then
r.Cells.ClearContents
End If
Next
For Each r In rgn.Cells
If (r.Cells.Interior.ColorIndex <> 6) And (r.Cells.Interior.ColorIndex <> -4142) Then
r.Cells.ClearContents
End If
Next
End Sub
[/vba]

[moder]Чтобы оформить правильно код, его надо выделить и нажать кнопку # на панели инструментов в форме сообщения. Исправляйте[/moder]


Сообщение отредактировал lamak58 - Вторник, 14.06.2016, 17:05
 
Ответить
Сообщениепишет type mismatch :(

[vba]
Код
Sub SEVERNAYA_DOLINA()
Dim r As Range
Dim rgn As Range
Dim sh As Sheets
Cells.MergeCells = False
For Each sh In ThisWorkbook.Worksheets
If (r.Cells.Interior.ColorIndex <> 6) And (r.Cells.Interior.ColorIndex <> -4142) Then
r.Cells.ClearContents
End If
Next
For Each r In rgn.Cells
If (r.Cells.Interior.ColorIndex <> 6) And (r.Cells.Interior.ColorIndex <> -4142) Then
r.Cells.ClearContents
End If
Next
End Sub
[/vba]

[moder]Чтобы оформить правильно код, его надо выделить и нажать кнопку # на панели инструментов в форме сообщения. Исправляйте[/moder]

Автор - lamak58
Дата добавления - 14.06.2016 в 16:46
sboy Дата: Вторник, 14.06.2016, 16:53 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 196
Репутация: 48 ±
Замечаний: 0% ±

Excel 2007
цикл то внутри надо
[vba]
Код

Sub SEVERNAYA_DOLINA()
Dim r As Range
Dim rgn As Range

Cells.MergeCells = False
For Each sh In ThisWorkbook.Worksheets
Set rgn = sh.UsedRange
For Each r In rgn.Cells
If (r.Cells.Interior.ColorIndex <> 6) And (r.Cells.Interior.ColorIndex <> -4142) Then
r.Cells.ClearContents
End If
Next
Next
End Sub
[/vba]


Сообщение отредактировал sboy - Вторник, 14.06.2016, 16:54
 
Ответить
Сообщениецикл то внутри надо
[vba]
Код

Sub SEVERNAYA_DOLINA()
Dim r As Range
Dim rgn As Range

Cells.MergeCells = False
For Each sh In ThisWorkbook.Worksheets
Set rgn = sh.UsedRange
For Each r In rgn.Cells
If (r.Cells.Interior.ColorIndex <> 6) And (r.Cells.Interior.ColorIndex <> -4142) Then
r.Cells.ClearContents
End If
Next
Next
End Sub
[/vba]

Автор - sboy
Дата добавления - 14.06.2016 в 16:53
lamak58 Дата: Вторник, 14.06.2016, 17:03 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
не хочет работать,я же объявил rgn как Range,поэтому надо вставить строчку [vba]
Код
Set rgn = Application.ActiveSheet.UsedRange
[/vba] .
Вставляю ее во внутренинй цикл,очищает только активный лист :(
может нужно объявить sh как sheets??
 
Ответить
Сообщениене хочет работать,я же объявил rgn как Range,поэтому надо вставить строчку [vba]
Код
Set rgn = Application.ActiveSheet.UsedRange
[/vba] .
Вставляю ее во внутренинй цикл,очищает только активный лист :(
может нужно объявить sh как sheets??

Автор - lamak58
Дата добавления - 14.06.2016 в 17:03
Матраскин Дата: Вторник, 14.06.2016, 17:07 | Сообщение № 6
Группа: Друзья
Ранг: Обитатель
Сообщений: 341
Репутация: 63 ±
Замечаний: 0% ±

20xx
lamak58, Вам же сделал уже всё sboy =))

[vba]
Код
Set rgn = sh.UsedRange
[/vba]


в интернете опять кто-то не прав
 
Ответить
Сообщениеlamak58, Вам же сделал уже всё sboy =))

[vba]
Код
Set rgn = sh.UsedRange
[/vba]

Автор - Матраскин
Дата добавления - 14.06.2016 в 17:07
lamak58 Дата: Вторник, 14.06.2016, 17:28 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
работает,но цикл [vba]
Код
For Each r In rgn.Cells
If (r.Cells.Interior.ColorIndex <> 6) And (r.Cells.Interior.ColorIndex <> -4142) Then
r.Cells.ClearContents
End If  
[/vba] почему то не выполняется....
 
Ответить
Сообщениеработает,но цикл [vba]
Код
For Each r In rgn.Cells
If (r.Cells.Interior.ColorIndex <> 6) And (r.Cells.Interior.ColorIndex <> -4142) Then
r.Cells.ClearContents
End If  
[/vba] почему то не выполняется....

Автор - lamak58
Дата добавления - 14.06.2016 в 17:28
sboy Дата: Вторник, 14.06.2016, 17:30 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 196
Репутация: 48 ±
Замечаний: 0% ±

Excel 2007
Приложите файл с макросом, чтоб не гадать на кофейной гуще)
 
Ответить
СообщениеПриложите файл с макросом, чтоб не гадать на кофейной гуще)

Автор - sboy
Дата добавления - 14.06.2016 в 17:30
lamak58 Дата: Вторник, 14.06.2016, 17:34 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
вот пожалуйста :)
К сообщению приложен файл: ochistka_yachee.xlsm(27Kb)
 
Ответить
Сообщениевот пожалуйста :)

Автор - lamak58
Дата добавления - 14.06.2016 в 17:34
sboy Дата: Вторник, 14.06.2016, 17:48 | Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 196
Репутация: 48 ±
Замечаний: 0% ±

Excel 2007
lamak58, в приложенном файле макрос [vba]
Код
Sub SEVERNAYA_DOLINA()
[/vba] прекрасно работает, цикл проходит, ячейки очищает.
Может быть Вы от него что-то другое ждете? %)
 
Ответить
Сообщениеlamak58, в приложенном файле макрос [vba]
Код
Sub SEVERNAYA_DOLINA()
[/vba] прекрасно работает, цикл проходит, ячейки очищает.
Может быть Вы от него что-то другое ждете? %)

Автор - sboy
Дата добавления - 14.06.2016 в 17:48
lamak58 Дата: Вторник, 14.06.2016, 18:12 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
попробуйте вот в этом файле очистить.у меня только значок с рублем удаляется,остальное не работает :(
К сообщению приложен файл: _1-_2-5-.rar(20Kb)
 
Ответить
Сообщениепопробуйте вот в этом файле очистить.у меня только значок с рублем удаляется,остальное не работает :(

Автор - lamak58
Дата добавления - 14.06.2016 в 18:12
RAN Дата: Вторник, 14.06.2016, 19:25 | Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4277
Репутация: 829 ±
Замечаний: 0% ±

2010
Объединенные ячейки - зло.
[vba]
Код
r.Cells=Empty
[/vba]


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Вторник, 14.06.2016, 19:30
 
Ответить
СообщениеОбъединенные ячейки - зло.
[vba]
Код
r.Cells=Empty
[/vba]

Автор - RAN
Дата добавления - 14.06.2016 в 19:25
lamak58 Дата: Вторник, 14.06.2016, 19:28 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Объединенные ячейки - зло.
r.Cells=Empty

так вот код же который убирает объединение ячеек...
[vba]
Код
Cells.MergeCells = False
[/vba]


Сообщение отредактировал lamak58 - Вторник, 14.06.2016, 22:47
 
Ответить
Сообщение
Объединенные ячейки - зло.
r.Cells=Empty

так вот код же который убирает объединение ячеек...
[vba]
Код
Cells.MergeCells = False
[/vba]

Автор - lamak58
Дата добавления - 14.06.2016 в 19:28
Hugo Дата: Среда, 15.06.2016, 08:31 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2653
Репутация: 597 ±
Замечаний: 0% ±

вот код же который убирает объединение ячеек

где он его убирает? Судя по коду в теме - только в активном листе, а что активно - это как повезёт...


excel@nxt.ru
webmoney: E265281470651 R418926282008 Z422237915069
 
Ответить
Сообщение
вот код же который убирает объединение ячеек

где он его убирает? Судя по коду в теме - только в активном листе, а что активно - это как повезёт...

Автор - Hugo
Дата добавления - 15.06.2016 в 08:31
sboy Дата: Среда, 15.06.2016, 08:57 | Сообщение № 15
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 196
Репутация: 48 ±
Замечаний: 0% ±

Excel 2007
попробуйте вот в этом файле очистить

все ваши закрашенные ячейки прекрасно очистились... не понимаю где вы спотыкаетесь...
где он его убирает?

перенес в цикл по ячейкам
[vba]
Код

Sub SEVERNAYA_DOLINA()
Dim r As Range
Dim rgn As Range

For Each sh In ThisWorkbook.Worksheets
Set rgn = sh.UsedRange
For Each r In rgn.Cells
r.MergeCells = False
If (r.Cells.Interior.ColorIndex <> 6) And (r.Cells.Interior.ColorIndex <> -4142) Then
r.Cells.ClearContents
End If
Next
Next
End Sub
[/vba]
К сообщению приложен файл: _1-_2-5-.xlsm(40Kb)


Сообщение отредактировал sboy - Среда, 15.06.2016, 08:58
 
Ответить
Сообщение
попробуйте вот в этом файле очистить

все ваши закрашенные ячейки прекрасно очистились... не понимаю где вы спотыкаетесь...
где он его убирает?

перенес в цикл по ячейкам
[vba]
Код

Sub SEVERNAYA_DOLINA()
Dim r As Range
Dim rgn As Range

For Each sh In ThisWorkbook.Worksheets
Set rgn = sh.UsedRange
For Each r In rgn.Cells
r.MergeCells = False
If (r.Cells.Interior.ColorIndex <> 6) And (r.Cells.Interior.ColorIndex <> -4142) Then
r.Cells.ClearContents
End If
Next
Next
End Sub
[/vba]

Автор - sboy
Дата добавления - 15.06.2016 в 08:57
RAN Дата: Среда, 15.06.2016, 09:49 | Сообщение № 16
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4277
Репутация: 829 ±
Замечаний: 0% ±

2010
[vba]
Код
Sub SEVERNAYA_DOLINA()
    Dim r As Range
    Dim sh As Worksheet
    Application.ScreenUpdating = False
    For Each sh In ThisWorkbook.Worksheets
        Set rgn = sh.UsedRange
        For Each r In sh.UsedRange.Cells
            If r.Cells.Interior.ColorIndex > 0 Then
                If (r.Cells.Interior.ColorIndex <> 6) Then r.Cells = Empty
            End If
        Next
    Next
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
Sub SEVERNAYA_DOLINA()
    Dim r As Range
    Dim sh As Worksheet
    Application.ScreenUpdating = False
    For Each sh In ThisWorkbook.Worksheets
        Set rgn = sh.UsedRange
        For Each r In sh.UsedRange.Cells
            If r.Cells.Interior.ColorIndex > 0 Then
                If (r.Cells.Interior.ColorIndex <> 6) Then r.Cells = Empty
            End If
        Next
    Next
End Sub
[/vba]

Автор - RAN
Дата добавления - 15.06.2016 в 09:49
lamak58 Дата: Среда, 15.06.2016, 12:24 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
чего то я значит не догоняю :(
Попробовал макрос sboy,не работает :(
вот даже видео записал коротенькое.


Сообщение отредактировал lamak58 - Среда, 15.06.2016, 12:27
 
Ответить
Сообщениечего то я значит не догоняю :(
Попробовал макрос sboy,не работает :(
вот даже видео записал коротенькое.

Автор - lamak58
Дата добавления - 15.06.2016 в 12:24
sboy Дата: Среда, 15.06.2016, 13:09 | Сообщение № 18
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 196
Репутация: 48 ±
Замечаний: 0% ±

Excel 2007
lamak58, %)
а код где прописан? модуль/книга/лист?
 
Ответить
Сообщениеlamak58, %)
а код где прописан? модуль/книга/лист?

Автор - sboy
Дата добавления - 15.06.2016 в 13:09
lamak58 Дата: Среда, 15.06.2016, 13:23 | Сообщение № 19
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
у меня всегда открыта книга со всеми макросами,откуда я их выполняю на другие книги .называется ochistka_yacheek,в видео когда макрос выбираю она указана и открыта внизу на панели задач %)

upd.я понял,этот код выполняется только если привязан к конкретной книге :o
а как сделать чтобы он выполнялся,находясь в другой книге?применительно к любой другой открытой в данный момент.


Сообщение отредактировал lamak58 - Среда, 15.06.2016, 13:30
 
Ответить
Сообщениеу меня всегда открыта книга со всеми макросами,откуда я их выполняю на другие книги .называется ochistka_yacheek,в видео когда макрос выбираю она указана и открыта внизу на панели задач %)

upd.я понял,этот код выполняется только если привязан к конкретной книге :o
а как сделать чтобы он выполнялся,находясь в другой книге?применительно к любой другой открытой в данный момент.

Автор - lamak58
Дата добавления - 15.06.2016 в 13:23
sboy Дата: Среда, 15.06.2016, 13:30 | Сообщение № 20
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 196
Репутация: 48 ±
Замечаний: 0% ±

Excel 2007
книга со всеми макросами,откуда я их выполняю на другие книги

ну вот и разобрались)))
макрос работает и выполняется в книге где записан
[vba]
Код

For Each sh In ThisWorkbook.Worksheets
[/vba]
т.е. в книге
ochistka_yacheek
 
Ответить
Сообщение
книга со всеми макросами,откуда я их выполняю на другие книги

ну вот и разобрались)))
макрос работает и выполняется в книге где записан
[vba]
Код

For Each sh In ThisWorkbook.Worksheets
[/vba]
т.е. в книге
ochistka_yacheek

Автор - sboy
Дата добавления - 15.06.2016 в 13:30
Мир MS Excel » Вопросы и решения » Вопросы по VBA » как выбрать всю рабочую тетрадь? (Макросы/Sub)
Страница 1 из 212»
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!