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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2021, 15:51   #1
dimasik123
Новичок
Джуниор
 
Регистрация: 05.03.2021
Сообщений: 1
Восклицание Макрос. Автоматическое определение диапазона

Добрый день.
Есть макрос который из одной ячейки выносит сумму значений в скобках, в другую ячейку. Но проблема в том, что нужно постоянно выбирать диапазон (О12:О124). Начало всегда начинается с ячейки О12.
Можно как то автоматизировать макрос, что б не выбирать в ручную диапазон а допустим макрос работал по условию что в столбце L12: L100000 есть какое-то значение .
Код:
Sub кабель()
    Set diap = Intersect(Sheets("0,4кВ").Range("O12:O1000"), 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, "Не ошибка"
End Sub
dimasik123 вне форума Ответить с цитированием
Старый 05.03.2021, 22:28   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Вам бы файла вложить для наглядности
по описанию как бы хотите что-то такое
Код:
dim iLastIRow as integer
iLastIRow = sheets("0,4кВ").Cells(sheets("0,4кВ").rows.count,"L").end(xlUp).Row
'Set diap = Intersect(Sheets("0,4кВ").Range("O12:O1000"), Sheets("0,4кВ").UsedRange)
Set diap = Sheets("0,4кв").range("O12:O" & iLastIRow)
....
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматическое установление диапазона для поиска RISagitov Microsoft Office Excel 8 20.05.2012 21:04
автоматическое изменение диапазона в формуле Kek Microsoft Office Excel 3 11.12.2011 14:23
определение пустого диапазона Bape}l{ka Microsoft Office Excel 7 25.07.2011 10:58
определение границ диапазона sirius84 Microsoft Office Excel 21 09.12.2010 14:39
Автоматическое заполнение диапазона ячеек формулой. garry2000 Microsoft Office Excel 3 02.03.2010 14:19