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

Вход

Регистрация

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

 

= Мир MS Excel/Перевод макроса на преобразование в автоматический режим - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перевод макроса на преобразование в автоматический режим (Макросы/Sub)
Перевод макроса на преобразование в автоматический режим
graffserg Дата: Четверг, 22.12.2016, 09:46 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 84
Репутация: 1 ±
Замечаний: 0% ±

2010
Уважаемые форумчане!
Прошу Вашей помощи, а именно:
1. имеется формула -
Код
ПСТР(Данные!W3; 13; 2)
, которая извлекает необходимые данные
2. далее эти данные преобразовываются с помощью макроса
[vba]
Код
Sub Преобразование()
Application.ScreenUpdating = False
Range("C5:C8").Copy
With Range("D5:D8")
.PasteSpecial Paste:=xlPasteValues
.PasteSpecial Paste:=xlPasteFormats
End With
With Application
.ScreenUpdating = False: .CutCopyMode = False
Selection.TextToColumns:
End With
End Sub
[/vba]
Вопрос - как можно данный макрос перевести в автоматический режим, т.е. чтобы при изменении данных в ячейках C5:C8 листа Потребность в материалах, данный макрос автоматически срабатывал и изменял данные?
Спасибо.


Сообщение отредактировал graffserg - Четверг, 22.12.2016, 11:26
 
Ответить
СообщениеУважаемые форумчане!
Прошу Вашей помощи, а именно:
1. имеется формула -
Код
ПСТР(Данные!W3; 13; 2)
, которая извлекает необходимые данные
2. далее эти данные преобразовываются с помощью макроса
[vba]
Код
Sub Преобразование()
Application.ScreenUpdating = False
Range("C5:C8").Copy
With Range("D5:D8")
.PasteSpecial Paste:=xlPasteValues
.PasteSpecial Paste:=xlPasteFormats
End With
With Application
.ScreenUpdating = False: .CutCopyMode = False
Selection.TextToColumns:
End With
End Sub
[/vba]
Вопрос - как можно данный макрос перевести в автоматический режим, т.е. чтобы при изменении данных в ячейках C5:C8 листа Потребность в материалах, данный макрос автоматически срабатывал и изменял данные?
Спасибо.

Автор - graffserg
Дата добавления - 22.12.2016 в 09:46
Nic70y Дата: Четверг, 22.12.2016, 10:32 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8761
Репутация: 2273 ±
Замечаний: 0% ±

Excel 2010
Код нужно не под спойлер, а под #
в связи с этим отвечать нельзя, по этому я спрошу:
Вы копируете C5:C8 и вставляете значения и форматы в D5:D8,
вопрос анафига?


ЮMoney 41001841029809
 
Ответить
СообщениеКод нужно не под спойлер, а под #
в связи с этим отвечать нельзя, по этому я спрошу:
Вы копируете C5:C8 и вставляете значения и форматы в D5:D8,
вопрос анафига?

Автор - Nic70y
Дата добавления - 22.12.2016 в 10:32
graffserg Дата: Четверг, 22.12.2016, 11:23 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 84
Репутация: 1 ±
Замечаний: 0% ±

2010
Вы копируете C5:C8 и вставляете значения и форматы в D5:D8,
вопрос анафига?

Нет, я:
1. с помощью формулы ПСТР(Данные!W3; 13; 2) вытаскиваю необходимые данные с листа "данные", в данном случае толщину ДСП, в ячейки C5:C8
2. макрос (находится в модуле листа) преобразовывает полученные данные из текстового формата в цифровой и копирует в ячейки D5:D8 . Но он срабатывает если его запускать принудительно.
3. мне необходимо чтобы он срабатывал автоматически при изменении данных в в ячейках C5:C8.
Я понимаю, что необходимо использовать Private Sub Worksheet_Change(ByVal Target As Range), но как это прикрутить иммено к макросу не знаю.
 
Ответить
Сообщение
Вы копируете C5:C8 и вставляете значения и форматы в D5:D8,
вопрос анафига?

Нет, я:
1. с помощью формулы ПСТР(Данные!W3; 13; 2) вытаскиваю необходимые данные с листа "данные", в данном случае толщину ДСП, в ячейки C5:C8
2. макрос (находится в модуле листа) преобразовывает полученные данные из текстового формата в цифровой и копирует в ячейки D5:D8 . Но он срабатывает если его запускать принудительно.
3. мне необходимо чтобы он срабатывал автоматически при изменении данных в в ячейках C5:C8.
Я понимаю, что необходимо использовать Private Sub Worksheet_Change(ByVal Target As Range), но как это прикрутить иммено к макросу не знаю.

Автор - graffserg
Дата добавления - 22.12.2016 в 11:23
Manyasha Дата: Четверг, 22.12.2016, 11:30 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
graffserg, здравствуйте, попробуйте так
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("C5:C8")) Is Nothing Then
        Преобразование
    End If
End Sub
[/vba]


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеgraffserg, здравствуйте, попробуйте так
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("C5:C8")) Is Nothing Then
        Преобразование
    End If
End Sub
[/vba]

Автор - Manyasha
Дата добавления - 22.12.2016 в 11:30
Nic70y Дата: Четверг, 22.12.2016, 11:30 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 8761
Репутация: 2273 ±
Замечаний: 0% ±

Excel 2010
преобразовывает полученные данные из текстового формата в цифровой
вот и не понятно нафига? два минуса после знака = не пробовали ставить?
Код
=--ПСТР(Данные!W3; 13; 2)


ЮMoney 41001841029809
 
Ответить
Сообщение
преобразовывает полученные данные из текстового формата в цифровой
вот и не понятно нафига? два минуса после знака = не пробовали ставить?
Код
=--ПСТР(Данные!W3; 13; 2)

Автор - Nic70y
Дата добавления - 22.12.2016 в 11:30
graffserg Дата: Четверг, 22.12.2016, 11:32 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 84
Репутация: 1 ±
Замечаний: 0% ±

2010
вот и не понятно нафига? два минуса после знака = не пробовали ставить?

Может вопрос и глупый, но на что это повлияет?
 
Ответить
Сообщение
вот и не понятно нафига? два минуса после знака = не пробовали ставить?

Может вопрос и глупый, но на что это повлияет?

Автор - graffserg
Дата добавления - 22.12.2016 в 11:32
китин Дата: Четверг, 22.12.2016, 11:53 | Сообщение № 7
Группа: Модераторы
Ранг: Экселист
Сообщений: 7015
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
данные из текстового формата в цифровой

почитайте


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852


Сообщение отредактировал китин - Четверг, 22.12.2016, 11:55
 
Ответить
Сообщение
данные из текстового формата в цифровой

почитайте

Автор - китин
Дата добавления - 22.12.2016 в 11:53
graffserg Дата: Четверг, 22.12.2016, 13:01 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 84
Репутация: 1 ±
Замечаний: 0% ±

2010
вот и не понятно нафига? два минуса после знака = не пробовали ставить?
[Перевод / Translate]
=--ПСТР(Данные!W3; 13; 2)

Спасибо, все получилось и работает, макрос больше не нужен. На будущее буду знать.
 
Ответить
Сообщение
вот и не понятно нафига? два минуса после знака = не пробовали ставить?
[Перевод / Translate]
=--ПСТР(Данные!W3; 13; 2)

Спасибо, все получилось и работает, макрос больше не нужен. На будущее буду знать.

Автор - graffserg
Дата добавления - 22.12.2016 в 13:01
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перевод макроса на преобразование в автоматический режим (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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