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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос. Автоматическое определение диапазона - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос. Автоматическое определение диапазона (Формулы/Formulas)
Макрос. Автоматическое определение диапазона
Дмитрий6057 Дата: Пятница, 05.03.2021, 11:01 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Добрый день.
Есть макрос который из одной ячейки выносит сумму значений в скобках, в другую ячейку. Но проблема в том, что нужно постоянно выбирать диапазон (О12:О124). Начало всегда начинается с ячейки О12.
Можно как то автоматизировать макрос, что б не выбирать в ручную диапазон а допустим по условию что в столбце L12: L есть какое-то значение .

[spoiler][vba][code]Sub кабель()
Set diap = Intersect(Sheets("0,4кВ").Range("O12:O124"), Sheets("0,4кВ").UsedRange)
mas = diap.Formula
ReDim masrez(1 To UBound(mas), 1 To 1)
For i = 1 To UBound(mas)
nach = InStr(mas(i, 1), "(")
kon = InStr(mas(i, 1), ")")
If nach > 0 And kon > 0 And Not mas(i, 1) Like "=SUBTOTAL*" Then
tekst = Mid(mas(i, 1), nach + 1, kon - nach - 1)
masrez(i, 1) = "=" & tekst
tekst = ""
End If
Next
diap.Offset(, 25).Formula = masrez
MsgBox "Проверь сечение!", vbInformation, "Не ошибка"


Сообщение отредактировал Дмитрий6057 - Пятница, 05.03.2021, 11:47
 
Ответить
СообщениеДобрый день.
Есть макрос который из одной ячейки выносит сумму значений в скобках, в другую ячейку. Но проблема в том, что нужно постоянно выбирать диапазон (О12:О124). Начало всегда начинается с ячейки О12.
Можно как то автоматизировать макрос, что б не выбирать в ручную диапазон а допустим по условию что в столбце L12: L есть какое-то значение .

[spoiler][vba][code]Sub кабель()
Set diap = Intersect(Sheets("0,4кВ").Range("O12:O124"), Sheets("0,4кВ").UsedRange)
mas = diap.Formula
ReDim masrez(1 To UBound(mas), 1 To 1)
For i = 1 To UBound(mas)
nach = InStr(mas(i, 1), "(")
kon = InStr(mas(i, 1), ")")
If nach > 0 And kon > 0 And Not mas(i, 1) Like "=SUBTOTAL*" Then
tekst = Mid(mas(i, 1), nach + 1, kon - nach - 1)
masrez(i, 1) = "=" & tekst
tekst = ""
End If
Next
diap.Offset(, 25).Formula = masrez
MsgBox "Проверь сечение!", vbInformation, "Не ошибка"

Автор - Дмитрий6057
Дата добавления - 05.03.2021 в 11:01
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос. Автоматическое определение диапазона (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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