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

Вход

Регистрация

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

 

= Мир MS Excel/макрос автозаполнения ячейки при наступлении события - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
макрос автозаполнения ячейки при наступлении события
Лехаа Дата: Среда, 01.08.2012, 13:22 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 68
Репутация: 4 ±
Замечаний: 0% ±

Уважаемые участники форума, помогите пожалуйста нужен макрос который по событию выборочно вставлял бы символ и дату появления символа в смежные ячейки
файлик прикрепил
К сообщению приложен файл: 4598711.xlsx (11.1 Kb)
 
Ответить
СообщениеУважаемые участники форума, помогите пожалуйста нужен макрос который по событию выборочно вставлял бы символ и дату появления символа в смежные ячейки
файлик прикрепил

Автор - Лехаа
Дата добавления - 01.08.2012 в 13:22
Лехаа Дата: Среда, 01.08.2012, 13:52 | Сообщение № 2
Группа: Пользователи
Ранг: Участник
Сообщений: 68
Репутация: 4 ±
Замечаний: 0% ±

файлик переделал в *.xls посмотрите пожалуйста
К сообщению приложен файл: 5617983.xls (30.0 Kb)
 
Ответить
Сообщениефайлик переделал в *.xls посмотрите пожалуйста

Автор - Лехаа
Дата добавления - 01.08.2012 в 13:52
Саня Дата: Среда, 01.08.2012, 14:20 | Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
правой кнопкой по ярлыку листа - Исходный текст, туда:
[vba]
Code
Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Column <> 1 Then Exit Sub
     If Target.Columns.Count > 1 Then Exit Sub
      
     Application.EnableEvents = False
     Dim c As Range
     For Each c In Target
         If c Like "изолента*" Then
             c.Offset(, 1) = "-"
             c.Offset(, 2) = Now
              
         Else
             c.Offset(, 1).Resize(, 2).ClearContents
         End If
     Next c
     Application.EnableEvents = True
End Sub
[/vba]

xlsx, соответ-но, долой.
 
Ответить
Сообщениеправой кнопкой по ярлыку листа - Исходный текст, туда:
[vba]
Code
Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Column <> 1 Then Exit Sub
     If Target.Columns.Count > 1 Then Exit Sub
      
     Application.EnableEvents = False
     Dim c As Range
     For Each c In Target
         If c Like "изолента*" Then
             c.Offset(, 1) = "-"
             c.Offset(, 2) = Now
              
         Else
             c.Offset(, 1).Resize(, 2).ClearContents
         End If
     Next c
     Application.EnableEvents = True
End Sub
[/vba]

xlsx, соответ-но, долой.

Автор - Саня
Дата добавления - 01.08.2012 в 14:20
Лехаа Дата: Среда, 01.08.2012, 14:39 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 68
Репутация: 4 ±
Замечаний: 0% ±

Огромное спасибо ! biggrin
 
Ответить
СообщениеОгромное спасибо ! biggrin

Автор - Лехаа
Дата добавления - 01.08.2012 в 14:39
Лехаа Дата: Среда, 01.08.2012, 15:05 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 68
Репутация: 4 ±
Замечаний: 0% ±

работает в моем примере, только у меня поля B и C имеют значение AI и AJ а поле A имеет значение C в оригинале, думал разберусь - но знаний не хватает sad

файлик приложил, еще раз прошу помощи smile
К сообщению приложен файл: 7948370.xls (30.5 Kb)
 
Ответить
Сообщениеработает в моем примере, только у меня поля B и C имеют значение AI и AJ а поле A имеет значение C в оригинале, думал разберусь - но знаний не хватает sad

файлик приложил, еще раз прошу помощи smile

Автор - Лехаа
Дата добавления - 01.08.2012 в 15:05
Саня Дата: Среда, 01.08.2012, 15:35 | Сообщение № 6
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
[vba]
Code
Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Column <> 3 Then Exit Sub
     If Target.Columns.Count > 1 Then Exit Sub

     Application.EnableEvents = False
     Dim c As Range
     For Each c In Target
         If c Like "изолента*" Then
             c.Offset(, 32) = "-"
             c.Offset(, 33) = Now

         Else
             c.Offset(, 32).Resize(, 2).ClearContents
         End If
     Next c
     Application.EnableEvents = True
End Sub
[/vba]
 
Ответить
Сообщение[vba]
Code
Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Column <> 3 Then Exit Sub
     If Target.Columns.Count > 1 Then Exit Sub

     Application.EnableEvents = False
     Dim c As Range
     For Each c In Target
         If c Like "изолента*" Then
             c.Offset(, 32) = "-"
             c.Offset(, 33) = Now

         Else
             c.Offset(, 32).Resize(, 2).ClearContents
         End If
     Next c
     Application.EnableEvents = True
End Sub
[/vba]

Автор - Саня
Дата добавления - 01.08.2012 в 15:35
Лехаа Дата: Среда, 01.08.2012, 16:13 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 68
Репутация: 4 ±
Замечаний: 0% ±


Большое Спасибо! все работает!
 
Ответить
Сообщение

Большое Спасибо! все работает!

Автор - Лехаа
Дата добавления - 01.08.2012 в 16:13
Лехаа Дата: Среда, 01.08.2012, 19:02 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 68
Репутация: 4 ±
Замечаний: 0% ±

Quote (Лехаа)
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 3 Then Exit Sub
If Target.Columns.Count > 1 Then Exit Sub
Application.EnableEvents = False
Dim c As Range
For Each c In Target
If c Like "изолента*" Then
c.Offset(, 32) = "-"
c.Offset(, 33) = Now
Else
c.Offset(, 32).Resize(, 2).ClearContents
End If
Next c
Application.EnableEvents = True
End Sub


wacko Странно но теперь почему то сводные таблицы на других листах книги выдают вот что: не допустимое поле сводной таблицы. Чтобы создать сводную таблицу используйте данные в виде списка с заголовками столбцов. Для изменения имени поля сводной таблицы введите новое имя. ---и не обновляет, к сожалению все основано на данных из первого листа (пример который я приводил) и без сводных таблиц не обойтись... нельзя ли сделать так чтобы и макрос работал и сводные таблицы? cry
 
Ответить
Сообщение
Quote (Лехаа)
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 3 Then Exit Sub
If Target.Columns.Count > 1 Then Exit Sub
Application.EnableEvents = False
Dim c As Range
For Each c In Target
If c Like "изолента*" Then
c.Offset(, 32) = "-"
c.Offset(, 33) = Now
Else
c.Offset(, 32).Resize(, 2).ClearContents
End If
Next c
Application.EnableEvents = True
End Sub


wacko Странно но теперь почему то сводные таблицы на других листах книги выдают вот что: не допустимое поле сводной таблицы. Чтобы создать сводную таблицу используйте данные в виде списка с заголовками столбцов. Для изменения имени поля сводной таблицы введите новое имя. ---и не обновляет, к сожалению все основано на данных из первого листа (пример который я приводил) и без сводных таблиц не обойтись... нельзя ли сделать так чтобы и макрос работал и сводные таблицы? cry

Автор - Лехаа
Дата добавления - 01.08.2012 в 19:02
Саня Дата: Среда, 01.08.2012, 23:06 | Сообщение № 9
Группа: Гости
похоже на прохождение какого-то квеста - чем дальше, тем интереснее...

а что такое сводные таблицы?
ни разу не слышал
 
Ответить
Сообщениепохоже на прохождение какого-то квеста - чем дальше, тем интереснее...

а что такое сводные таблицы?
ни разу не слышал

Автор - Саня
Дата добавления - 01.08.2012 в 23:06
Serge_007 Дата: Четверг, 02.08.2012, 10:03 | Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (Саня)
а что такое сводные таблицы?

А гугл о них не знает?


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (Саня)
а что такое сводные таблицы?

А гугл о них не знает?

Автор - Serge_007
Дата добавления - 02.08.2012 в 10:03
Лехаа Дата: Четверг, 02.08.2012, 16:37 | Сообщение № 11
Группа: Пользователи
Ранг: Участник
Сообщений: 68
Репутация: 4 ±
Замечаний: 0% ±

smile вы наверное надо мной подшучиваете да? biggrin
они в 2010 да и в предыдущих версиях так и назывались - вот прямо так инаписано smile "сводная таблица" -> "Вставить сводную таблицу" ну и так далее
не нашел другого выхода к сожалению как пользоваться именно ими, а есть им альтернатива наверное с помощью макросов удобнее но к сожалению я в этом новичок

ну а все же можно заставить работать макрос приведенный выше и что бы сводные таблицы работали как прежде smile ?

(все же большое спасибо! у вас очень полезная работа , помогаете нам "чайникам" )
 
Ответить
Сообщениеsmile вы наверное надо мной подшучиваете да? biggrin
они в 2010 да и в предыдущих версиях так и назывались - вот прямо так инаписано smile "сводная таблица" -> "Вставить сводную таблицу" ну и так далее
не нашел другого выхода к сожалению как пользоваться именно ими, а есть им альтернатива наверное с помощью макросов удобнее но к сожалению я в этом новичок

ну а все же можно заставить работать макрос приведенный выше и что бы сводные таблицы работали как прежде smile ?

(все же большое спасибо! у вас очень полезная работа , помогаете нам "чайникам" )

Автор - Лехаа
Дата добавления - 02.08.2012 в 16:37
Лехаа Дата: Вторник, 07.08.2012, 17:35 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 68
Репутация: 4 ±
Замечаний: 0% ±

Разобрался, вся загвоздка была из за защищаемого диапазона AH:AH если на него не ставить защиту то все работает smile
 
Ответить
СообщениеРазобрался, вся загвоздка была из за защищаемого диапазона AH:AH если на него не ставить защиту то все работает smile

Автор - Лехаа
Дата добавления - 07.08.2012 в 17:35
Serge_007 Дата: Вторник, 07.08.2012, 17:49 | Сообщение № 13
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (Лехаа)
ы наверное надо мной подшучиваете да?

Я отвечал не Вам

Quote (Лехаа)
не нашел другого выхода к сожалению как пользоваться именно ими, а есть им альтернатива наверное с помощью макросов удобнее

Кто Вам это сказал? Удобнее как раз сводной. Она универсальна, а макросы надо писать под каждые конкретные действия


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (Лехаа)
ы наверное надо мной подшучиваете да?

Я отвечал не Вам

Quote (Лехаа)
не нашел другого выхода к сожалению как пользоваться именно ими, а есть им альтернатива наверное с помощью макросов удобнее

Кто Вам это сказал? Удобнее как раз сводной. Она универсальна, а макросы надо писать под каждые конкретные действия

Автор - Serge_007
Дата добавления - 07.08.2012 в 17:49
  • Страница 1 из 1
  • 1
Поиск:

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