Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2017, 15:47   #11
krestsoft
Пользователь
 
Регистрация: 26.03.2014
Сообщений: 10
Вопрос

Цитата:
Сообщение от AlexM12 Посмотреть сообщение
If Intersect(Range("A2:A9999"), Target) Is Nothing Then Exit Sub
В этой строке делается проверка. Если изменение значения произошло не в диапазоне A2:A9999, то макрос завершает работу.
Если вы измените значение в диапазоне B2:B9999, то макрос не сработает
Поэтому нужно так
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Range("A2:B9999"), Target) Is Nothing Then Exit Sub
    Cells(Target.Row, 3) = Cells(Target.Row, 1)
    Cells(Target.Row, 4) = Cells(Target.Row, 2)
End Sub
И всё равно ведь как-то неправильно работает, видимо в строке проверки нужно что-то изменить, чтобы макрос не закрывался после каждой строки.

Суть в том, чтобы вбить два столбика фраз (A и B), и чтобы они перенеслись в другие два столбика (C и D) и чтобы можно было их править. Так сказать массовый перенос.

Сейчас же по одной строке переносится только.
Вложения
Тип файла: zip Перенос.zip (14.3 Кб, 4 просмотров)
krestsoft вне форума Ответить с цитированием
Старый 29.03.2017, 16:04   #12
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

сделать можно все
но для того чтобы это "все" сделать нужно точно понимать что делать:
1. какой диапазон взять под контроль
2. какие манипуляции необходимо выполнить, когда произошло контрольное событие
описывать желательно со всей необходимой степенью детализации выполняемых действий
когда описана задача, тут, буквами, тогда ее можно решить, а пока задача только в Ваших мыслях - обращаетесь на форум экстрасенсов и там Вам помогут. хотя... нормальные экстрасенсы уже должны были почувствовать, что Вы нуждаетесь в помощи и известными только им одним заклинаний уже решить ее
а пока экстрасенсы ничего не чувствуют или ничего не могут, помогите себе сами - опишите задачу. на форуме есть люди, которые умет читать и, скорее всего, смогут помочь
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 29.03.2017, 19:09   #13
krestsoft
Пользователь
 
Регистрация: 26.03.2014
Сообщений: 10
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
на форуме есть люди, которые умет читать и, скорее всего, смогут помочь
Пардон. Полностью согласен с Вами.
Просто по-очереди решали задачи с AlexM12, очень помог мне разобраться )

В данным момент рассматривается такая задача:

Вставляем фразы в столбики A и B (количество фраз заранее не определено, может быть 10 фраз, может быть и 1000).

Необходимо, чтобы фразы автоматически переносились (соблюдая регистр!) из столбиков A в С и из B в D так, чтобы их можно было уже в столбиках C и D исправлять.

Например:

Беру и вставляю 7 фраз в столбик A - сразу же автоматически фразы пишутся в столбик С, где я могу их исправить/дополнить/переписать.
То же и со столбиком B.

Фраз в столбиках A и B будет либо одинаковое кол-во, либо больше в столбике A.
krestsoft вне форума Ответить с цитированием
Старый 29.03.2017, 19:18   #14
AlexM12
Форумчанин
 
Аватар для AlexM12
 
Регистрация: 29.08.2012
Сообщений: 209
По умолчанию

Цитата:
Сообщение от krestsoft Посмотреть сообщение
Беру и вставляю 7 фраз в столбик A
Как вы это делаете распишите подробно.
Возможно вы копируете откуда-то диапазон ячеек с фразами и вставляете в столбец А.
Если так, то прикладывайте пример с фразами, чтобы можно было их также как вы взять и вставить.
Алексей М.
AlexM12 вне форума Ответить с цитированием
Старый 29.03.2017, 19:57   #15
krestsoft
Пользователь
 
Регистрация: 26.03.2014
Сообщений: 10
Печаль

Цитата:
Сообщение от AlexM12 Посмотреть сообщение
Как вы это делаете распишите подробно.
Возможно вы копируете откуда-то диапазон ячеек с фразами и вставляете в столбец А.
Если так, то прикладывайте пример с фразами, чтобы можно было их также как вы взять и вставить.
Фразы берём из столбика Excel или из notepad, любой вариант можно использовать.

Конкретный пример прикрепил.
Копировать можно и из 1 столбика и из 2 сразу.
Переносится только одна строчка и макрос перестаёт работать.
Вложения
Тип файла: zip Перенос (конкретный пример).zip (16.1 Кб, 5 просмотров)
krestsoft вне форума Ответить с цитированием
Старый 29.03.2017, 20:08   #16
AlexM12
Форумчанин
 
Аватар для AlexM12
 
Регистрация: 29.08.2012
Сообщений: 209
По умолчанию

Проверяйте
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.ScreenUpdating = False
    If Intersect(Range("C2:D9999"), Target) Is Nothing Then Exit Sub
    For Each iCell In Target
        iCell.Offset(, 2) = iCell
    Next
    Application.ScreenUpdating = True
End Sub
Вложения
Тип файла: rar Перенос (конкретный пример)_01.rar (14.8 Кб, 11 просмотров)
Алексей М.
AlexM12 вне форума Ответить с цитированием
Старый 29.03.2017, 20:16   #17
krestsoft
Пользователь
 
Регистрация: 26.03.2014
Сообщений: 10
По умолчанию

Цитата:
Сообщение от AlexM12 Посмотреть сообщение
Проверяйте
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.ScreenUpdating = False
    If Intersect(Range("C2:D9999"), Target) Is Nothing Then Exit Sub
    For Each iCell In Target
        iCell.Offset(, 2) = iCell
    Next
    Application.ScreenUpdating = True
End Sub
Спасибо большое! Всё как и задумывалось.
krestsoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенести часть данных с ячейки в другую ячейку 5mrs Microsoft Office Excel 18 27.01.2015 12:53
Перенести часть данных до определенного слова в другую ячейку maksden Microsoft Office Excel 3 28.02.2013 11:34
автоматически выбрать ячейку без заливки Karponen Помощь студентам 1 20.02.2013 14:48
Как автоматически протягивать формулы? АлександрМГ Microsoft Office Excel 16 17.09.2012 10:55
скопировать результат формулы в другую ячейку johny_03 Microsoft Office Excel 5 15.05.2011 05:17