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

Вход

Регистрация

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

 

= Мир MS Excel/Сообщение при различии диапазона кода и таблицы Excel - Мир MS Excel

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

2010
Привет.
Написан макрос, выполнение которого привязано к определенному столбцу. В таблице из за удаления/добавления столбцов соответственно расположения смещаются и не соответствуют коду.
Я пока не освоил именованные диапазоны и использую перед каждым макросом MsgBox сообщение о букве столбца. Это очень неудобно и сильно тормозит процесс (очень много макросов и столбцов).

:excl: Можно ли изменить MsgBox, что бы сигнализировал только при не совпадении в коде буквы столбца и таблицей Excel
То есть, если все совпадает, макрос отрабатывает, если нет, то выходит сообщение MsgBox с вопросом о остановке макроса или автоматом макрос прекратил работу и вышло MsgBox сообщение.

Сейчас MsgBox просто спрашивает о соответствии и я могу остановить его работу.
Пример приложил
К сообщению приложен файл: 7370656.xlsm (43.5 Kb)
 
Ответить
СообщениеПривет.
Написан макрос, выполнение которого привязано к определенному столбцу. В таблице из за удаления/добавления столбцов соответственно расположения смещаются и не соответствуют коду.
Я пока не освоил именованные диапазоны и использую перед каждым макросом MsgBox сообщение о букве столбца. Это очень неудобно и сильно тормозит процесс (очень много макросов и столбцов).

:excl: Можно ли изменить MsgBox, что бы сигнализировал только при не совпадении в коде буквы столбца и таблицей Excel
То есть, если все совпадает, макрос отрабатывает, если нет, то выходит сообщение MsgBox с вопросом о остановке макроса или автоматом макрос прекратил работу и вышло MsgBox сообщение.

Сейчас MsgBox просто спрашивает о соответствии и я могу остановить его работу.
Пример приложил

Автор - Rama
Дата добавления - 08.08.2018 в 20:53
krosav4ig Дата: Среда, 08.08.2018, 21:31 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
как-то так
[vba]
Код
Sub УФ_стереть_создать()
' //////////////////////////////////
    ' Вставка Y в параметр НДС включен в цену?
    On Error Resume Next
    With Rows(3).Find("НДС включен в цену ?", , xlValues, xlWhole).Offset(2)
        Range(.Cells, Cells(Rows.Count, .Column)).SpecialCells(xlCellTypeBlanks) = "Y"
    End With
' //////////////////////////////////
    MsgBox "ВСЕ!"
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениекак-то так
[vba]
Код
Sub УФ_стереть_создать()
' //////////////////////////////////
    ' Вставка Y в параметр НДС включен в цену?
    On Error Resume Next
    With Rows(3).Find("НДС включен в цену ?", , xlValues, xlWhole).Offset(2)
        Range(.Cells, Cells(Rows.Count, .Column)).SpecialCells(xlCellTypeBlanks) = "Y"
    End With
' //////////////////////////////////
    MsgBox "ВСЕ!"
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 08.08.2018 в 21:31
Rama Дата: Среда, 08.08.2018, 21:45 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 59
Репутация: 0 ±
Замечаний: 20% ±

2010
как-то так

Это просто Бомба! Спасибо

Пошел все переделывать и переваривать произошедшее )
 
Ответить
Сообщение
как-то так

Это просто Бомба! Спасибо

Пошел все переделывать и переваривать произошедшее )

Автор - Rama
Дата добавления - 08.08.2018 в 21:45
Rama Дата: Среда, 08.08.2018, 21:55 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 59
Репутация: 0 ±
Замечаний: 20% ±

2010
With Rows(3).Find("НДС включен в цену ?", , xlValues, xlWhole).Offset(2)
        Range(.Cells, Cells(Rows.Count, .Column)).SpecialCells(xlCellTypeBlanks) = "Y"
    End With


А отвязаться от строки 3 можно вообще ?
 
Ответить
Сообщение
With Rows(3).Find("НДС включен в цену ?", , xlValues, xlWhole).Offset(2)
        Range(.Cells, Cells(Rows.Count, .Column)).SpecialCells(xlCellTypeBlanks) = "Y"
    End With


А отвязаться от строки 3 можно вообще ?

Автор - Rama
Дата добавления - 08.08.2018 в 21:55
Rama Дата: Среда, 08.08.2018, 22:36 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 59
Репутация: 0 ±
Замечаний: 20% ±

2010
как-то так

krosav4ig, Ваше решение меня взволновало, я ноль в макросах (только макрорекордер). Вы помогли с вставкой, привязав к названию столбца. Спасибо.

Но у меня есть несколько очень важных, просто важнейших, макросов это - копирование одних столбцов с формулами и вставка их в другие как значение.
Проблема та же, привязка к букве столбца в коде, а по факту все меняется в самой таблице Excel и опять я это отслеживаю через MsgBox

Задача: Можно ли увязать копирование и вставка как значение по идентичному названию столбца ?
Пример приложил
К сообщению приложен файл: 6521490.xlsm (83.7 Kb)
 
Ответить
Сообщение
как-то так

krosav4ig, Ваше решение меня взволновало, я ноль в макросах (только макрорекордер). Вы помогли с вставкой, привязав к названию столбца. Спасибо.

Но у меня есть несколько очень важных, просто важнейших, макросов это - копирование одних столбцов с формулами и вставка их в другие как значение.
Проблема та же, привязка к букве столбца в коде, а по факту все меняется в самой таблице Excel и опять я это отслеживаю через MsgBox

Задача: Можно ли увязать копирование и вставка как значение по идентичному названию столбца ?
Пример приложил

Автор - Rama
Дата добавления - 08.08.2018 в 22:36
Pelena Дата: Среда, 08.08.2018, 22:44 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 19179
Репутация: 4419 ±
Замечаний: ±

Excel 365 & Mac Excel
Rama, новая задача не относится к данной теме. Создайте новую


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеRama, новая задача не относится к данной теме. Создайте новую

Автор - Pelena
Дата добавления - 08.08.2018 в 22:44
Rama Дата: Среда, 08.08.2018, 22:53 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 59
Репутация: 0 ±
Замечаний: 20% ±

2010
Pelena, позвольте оспорить (если такое возможно).
тема: Сообщение при различии диапазона кода и таблицы Excel
в первом посте речь об этом и шла (там про вставку), мой последний пост до этого все то же самое (но про копирование)
Суть всего этого одна: замена MsgBox на привязку к названию столбца.

P/S/ В новой задаче просто вариация от первой задачи, на которую дан ответ. А дальше развитие этой темы


Сообщение отредактировал Rama - Среда, 08.08.2018, 22:59
 
Ответить
СообщениеPelena, позвольте оспорить (если такое возможно).
тема: Сообщение при различии диапазона кода и таблицы Excel
в первом посте речь об этом и шла (там про вставку), мой последний пост до этого все то же самое (но про копирование)
Суть всего этого одна: замена MsgBox на привязку к названию столбца.

P/S/ В новой задаче просто вариация от первой задачи, на которую дан ответ. А дальше развитие этой темы

Автор - Rama
Дата добавления - 08.08.2018 в 22:53
krosav4ig Дата: Вторник, 21.08.2018, 02:56 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[vba]
Код
    Dim r As Range, arr() As Variant
    With Rows(3)
        Set r = .Find("Валюта для Розничной цены", , xlValues, xlWhole)
        arr = .FindNext(r).Offset(2).Resize(LastRow(.Cells), 2).Value
        r.Offset(2).Resize(UBound(arr), 2).Value = arr
    End With
[/vba]
отвязаться от строки 3 можно вообще ?

Можно, если определиться, по какому критерию искать эту строку


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Вторник, 21.08.2018, 03:04
 
Ответить
Сообщение[vba]
Код
    Dim r As Range, arr() As Variant
    With Rows(3)
        Set r = .Find("Валюта для Розничной цены", , xlValues, xlWhole)
        arr = .FindNext(r).Offset(2).Resize(LastRow(.Cells), 2).Value
        r.Offset(2).Resize(UBound(arr), 2).Value = arr
    End With
[/vba]
отвязаться от строки 3 можно вообще ?

Можно, если определиться, по какому критерию искать эту строку

Автор - krosav4ig
Дата добавления - 21.08.2018 в 02:56
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сообщение при различии диапазона кода и таблицы Excel (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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